visualstudio在调试模式下附加到进程

visual studio attaching to a process in debug mode

本文关键字:进程 调试 模式 visualstudio      更新时间:2023-10-16

我有一个奇怪的问题。

我在c++visualstudio2010中构建的dll(让我们称之为my.dll)使用第三方库(比如tp.lib),该库反过来调用第三方dll(比如tp.dll)。

对于调试程序,我在configurationProperties->debugging->command:Excel.exe中有和配置属性->调试->命令参数:"$(TargetPath)">

在我的计算机中,我还将PATH变量设置为tp.dll所在的目录

现在,当我在visualstudio中点击F5时,excel会打开my.dll并崩溃,给我一个"无法在dos模式下打开"的错误。发生这种情况的原因是在部署调试版本的my.dll时没有部署tp.dll。

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

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

我的问题是:

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

2> 在开始部署my.dll之前,我如何点击F5并使Excel从PATH变量中指定的目录中获取所需的tp.dll?

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

提前谢谢。

好吧,我想了一个反复尝试的方法1> 生成调试dll。2> 打开excel的实例,将my.dll从调试文件夹中删除。3> 在visualstudio 2010中:属性->配置属性->调试->命令=excel.exe4> 属性->配置属性->调试->附加=yes

现在你在visualstudio中点击F5。这将把visualstudio编辑器附加到my.dll的运行副本上,这将允许逐步执行代码。

  1. 除非您使用的是Express版本,否则您可以将visual studio附加到正在运行的进程
  2. 我会将tp.dll复制到包含my.dll的文件夹中