在VS2010中调试C ++程序

时间:2011-08-02 14:05:16

标签: c++ windows visual-studio-2010

我有两个C ++程序让我们说使用VS2010在windows中构建“test1”和“test2”二进制文件。我的逻辑是“test1”启动“test2”。现在我想通过test1启动时通过“test2”进行调试,所以我在test2的程序中保留了断点,并且构建了调试二进制文件。

现在我开始发布“test1”版本并且正如预期的那样启动test2(请注意我没有发布test2版本的版本)所以我们知道只启动了调试版本。但是当test2启动时,我期待在断点处停止,但它并没有停止。当我从VS IDE启动test2的调试版本时,它会在断点处停止。

如何在test1启动test2时调试test2?我们怎样才能在Windows中实现这一点。

谢谢!

3 个答案:

答案 0 :(得分:3)

启动调试器时,可以使用“附加到运行进程”选项。正常运行test1,当它生成test2进程时,您可以将调试器附加到它:

From the debug menu

Process selection dialog

答案 1 :(得分:1)

您需要启动test2项目的调试会话(而不是test1),并在test2的项目属性中指定要运行的可执行文件。这是在Configuration Properties-> Debugging-> Command下。将此值设置为test1.exe。

答案 2 :(得分:1)

您有两种可能的方法:

附加到流程

  1. 在Visual Studio中激活test2项目。
  2. 启动test1,然后启动test2进程。
  3. 使用Debug |附加到Process并选择test2过程。
  4. 如果您不需要调试进程的启动,这很好。

    项目配置

    1. 在Visual Studio中激活test2项目。
    2. 打开项目|配置|配置属性|调试。
    3. 将Command设置为test1.exe的完整路径。
    4. 通常,这种替代方案效率更高,并允许您调试启动。