我有一个奇怪的问题。
我在c ++中构建的dll(让我们称之为my.dll)在Visual Studio 2010中使用第三方库(比如tp.lib),后者又调用第三方dll(比如tp.dll)。
用于调试prupose我在configurationProperties-> debugging->命令:Excel.exe 和configurationProperties-> debugging-> commandArguments:“$(TargetPath)”
在我的计算机中,我还将PATH变量设置为tp.dll所在的目录
现在,当我在Visual Studio excel中打开F5时,会打开my.dll并且崩溃给我一个“无法在dos模式下打开”的错误。发生这种情况的原因是在部署my.dll的调试版本时未部署tp.dll。
当我单独打开一个excel实例并手动删除my.dll的调试版本时,一切正常,我可以看到我在my.dll中写的所有函数
唯一的问题是现在我不知道如何调试因为我不知道如何将visual studio附加到我单独打开的excel实例。
我的问题是:
1>如何将visual studio附加到已打开的Excel实例
或
2 - ;我怎样才能点击F5,仍然让Excel在开始部署my.dll之前从PATH变量中指定的目录中获取所需的tp.dll。
这两个中的任何一个都允许我逐步执行代码以进行调试。
提前感谢。
答案 0 :(得分:1)
好吧,我想通过反复试验找到一种方法 1>构建调试dll。 2 - ;打开excel实例并将my.dll从debug文件夹中删除。 3 GT;在visual studio 2010中:properties-> configurationproperties-> debugging-> command = excel.exe 4> properties-> configurationproperties-> debugging-> Attach = yes
现在你在visual studio中点击了F5。这会将visual studio编辑器附加到my.dll的运行副本,这将允许单步执行代码。
答案 1 :(得分:0)
tp.dll
复制到包含my.dll
。