如何在vs2005中调试另一个调用的exe

时间:2013-10-30 06:56:11

标签: c++ debugging visual-studio-2005

VS2005 c ++

我有一个包含2个exe和几个dll的sln A.exe调用B.exe而不是B.exe调用其他dll

我想在B.exe和dll的代码中插入断点 但如果我将A.exe设置为启动项目,则B和dll中的断点无效

如果我将B.exe设置为启动项目,而不仅仅是B.exe运行,但A.exe对我来说是必要的 因为很多事情必须由A

完成

如果将A和B都设置为启动项目,则可以调试B,但是你知道 当A跑,它会调用另一个B,所以2 B.exe同时运行,那不是我想要的

所以,任何人都可以帮助我,我很长时间都很无聊,

任何建议都是赞赏

2 个答案:

答案 0 :(得分:0)

您可以根据需要调试任意数量的B - 只需启动足够的Visual Studio 2005实例,在每个MSVC 2005实例中打开您的项目,选择Debug - > “附加到进程”并选择B进程所需的实例。

答案 1 :(得分:0)

您可以使用Image File Execution Options

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\B.exe]
"Debugger"="vsjitdebugger.exe"

您可能必须先运行此命令才能使其在Visual Studio命令提示符下运行。

vsjitdebugger.exe /regserver

然后当执行B.exe时,应该有一个弹出窗口要求你调试它。

在源代码中,您还可以插入DebugBreak()来破解调试器。