调试.Net和C++应用程序

Debug .Net and C++ app

本文关键字:应用程序 C++ Net 调试      更新时间:2023-10-16

我有两个应用程序,一个是.Net,另一个是C++。C++应用程序从内部启动.Net(wpf)应用程序。当c++应用程序启动.net应用程序时,我需要调试它。

所以我做了以下更改:
1.我在.net应用程序的调试属性中的"启动外部程序"中提到了c++exe
2.还选中了"启用本机调试"选项。现在,当我启动.Net应用程序时,它会启动c++应用程序,但它不会在应该的时候闯入.Net应用程序,因为由于"符号未加载"的原因,断点被禁用。

你能帮忙吗
Saurabh

这是预期的,调试器不会自动调试启动的子进程。解决方法:

  • 使用工具+附加到进程来附加到正在运行的WPF程序
  • 如果调试WPF程序的启动很重要,那么在App类构造函数中临时添加一个Debugger.Break()调用
  • 如果修改WPF程序不可行,则在启动WPF程序时使用Image File Execution Options注册表项自动启动调试器。查看此帖子了解详细信息
  • 如果C++代码只传递命令行参数,而不与WPF程序进行互操作,那么您可以只调试WPF应用程序,使用Project+Properties,debug选项卡来设置这些命令行选项
  • 如果WPF应用程序由C++应用程序启动并不重要,但只需要运行即可,那么您可以配置解决方案设置并要求启动这两个程序。右键单击它,启动项目,选择"多个"单选按钮