如果不是启动项目,如何在 C++ 应用程序中打断点

How to hit break point in c++ app if it is not start-up project

我有一个包含两个项目的 VS2010 解决方案:C# windows 表单和 C++ 控制台应用程序。 C# 项目是启动项目,它会调用 C++ 应用程序,我也正确设置了构建优先级和依赖性,但在调试模式下,C++ 项目中的断点不会被击中,这是我的 C# 代码:

static void Main()
{
    string CppPath = System.IO.Path.GetFullPath(System.IO.Path.Combine(Environment.CurrentDirectory.ToString(), @"..\..\..") + @"\Debug\");
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(CppPath + "CommunicationServerCpp.exe");
    startInfo.WorkingDirectory = CppPath;
    System.Diagnostics.Process.Start(startInfo);


    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

我不想把它们分成两个解决方案,那我该如何解决呢?

在调试菜单中有"attach to process"。

在控制台项目中,您需要创建一个 pause/delay 函数,等待您附加 VS 调试器。

无法在 VS 的 1 个实例中调试 2 个项目 - 因此必须启动第二个实例。