visual studio以调试模式附加到进程

时间:2012-10-11 20:40:14

标签: c++ visual-studio-2010 excel debugging dll

我有一个奇怪的问题。

我在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。

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

提前感谢。

2 个答案:

答案 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)

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