1

我有一个奇怪的问题。

我在 c++ Visual Studio 2010 中构建的 dll(我们称之为 my.dll)使用第三方库(比如 tp.lib),而后者又调用第三方 dll(比如 tp.dll)。

用于调试目的,我在 configurationProperties->debugging->command: Excel.exe 和 configurationProperties->debugging->commandArguments: "$(TargetPath)"

在我的电脑中,我还将 PATH 变量设置为 tp.dll 所在的目录

现在,当我在 Visual Studio 中按 F5 时,excel 打开 my.dll 并崩溃,给我一个“无法在 dos 模式下打开”错误。发生这种情况的原因是部署调试版本的 my.dll 时未部署 tp.dll。

当我单独打开一个 excel 实例并手动删除 my.dll 的调试版本时,一切正常,我可以看到我在 my.dll 中编写的所有函数

唯一的问题是现在我不知道如何调试,因为我不知道如何将 Visual Studio 附加到我单独打开的 excel 实例。

我的问题是:

1> 如何将 Visual Studio 附加到已打开的 Excel 实例

或者

2> 如何在开始部署 my.dll 之前按 F5 并让 Excel 从 PATH 变量中指定的目录中获取所需的 tp.dll。

这两个中的任何一个都将允许我单步调试代码以进行调试。

提前致谢。

4

2 回答 2

1

好的,我通过反复试验找到了一种方法 1>构建调试 dll。2> 打开 excel 实例并将 my.dll 从调试文件夹中拖放到其中。3>在Visual Studio 2010中:属性->配置属性->调试->命令= excel.exe 4>属性->配置属性->调试->附加=是

现在你在visual studio中按下F5。这会将 Visual Studio 编辑器附加到 my.dll 的运行副本,这将允许单步执行代码。

于 2012-10-12T15:35:54.450 回答
0
  1. 除非您使用的是 Express 版本,否则您可以将 Visual Studio 附加到正在运行的进程中
  2. 我会复制tp.dll到包含my.dll.
于 2012-10-11T20:56:19.767 回答