c++ Visual Studio在调试模式下附加到进程

kknvjkwl  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(96)

有个奇怪的问题。
我在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>我如何才能按F5键,并仍然使Excel从PATH变量中指定的目录中获取所需的tp.dll,然后才开始部署my.dll。
这两个中的任何一个都将允许我为了调试的目的而单步执行代码。
先谢谢你了。

rsl1atfo

rsl1atfo1#

好的,我通过反复试验找到了一种方法。
1.创建debug dll。
1.打开excel的示例并将my.dll从debug文件夹拖到它。
1.在Visual Studio 2010中:属性->配置属性->调试->命令= excel.exe
1.属性->配置属性->调试->附加=是
现在你在Visual Studio中按F5,这将把Visual Studio编辑器附加到my.dll的运行副本上,这将允许单步执行代码。

nnvyjq4y

nnvyjq4y2#

1.除非您使用的是Express版本,否则您可以attach visual studio to a running process
1.将tp.dll复制到包含my.dll的文件夹中。

相关问题