我有两个C ++程序让我们说使用VS2010在windows中构建“test1”和“test2”二进制文件。我的逻辑是“test1”启动“test2”。现在我想通过test1启动时通过“test2”进行调试,所以我在test2的程序中保留了断点,并且构建了调试二进制文件。
现在我开始发布“test1”版本并且正如预期的那样启动test2(请注意我没有发布test2版本的版本)所以我们知道只启动了调试版本。但是当test2启动时,我期待在断点处停止,但它并没有停止。当我从VS IDE启动test2的调试版本时,它会在断点处停止。
如何在test1启动test2时调试test2?我们怎样才能在Windows中实现这一点。
谢谢!
答案 0 :(得分:3)
启动调试器时,可以使用“附加到运行进程”选项。正常运行test1,当它生成test2进程时,您可以将调试器附加到它:
答案 1 :(得分:1)
您需要启动test2项目的调试会话(而不是test1),并在test2的项目属性中指定要运行的可执行文件。这是在Configuration Properties-> Debugging-> Command下。将此值设置为test1.exe。
答案 2 :(得分:1)
您有两种可能的方法:
附加到流程
如果您不需要调试进程的启动,这很好。
项目配置
通常,这种替代方案效率更高,并允许您调试启动。