1

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同时运行,这不是我想要的

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

任何建议都值得感谢

4

2 回答 2

0

您可以使用图像文件执行选项

[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()来中断调试器。

于 2013-10-30T08:52:33.517 回答
0

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

于 2013-10-30T07:27:38.763 回答