首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用断点调试具有多个dll的exe

如何使用断点调试具有多个dll的exe
EN

Stack Overflow用户
提问于 2020-08-27 22:17:27
回答 1查看 164关注 0票数 0

我有一个myapp.exe,在经过一些复杂的逻辑之后,它由另一个程序运行。我想调试myapp.exe的问题,就像visual一样,最好使用断点。实现这一点的方法是什么?exe是一个控制台应用程序,并在现场运行。这不是一个正在运行的进程,所以我不能附加调试器。

我想要的行为是:

  • 为该exe和dlls
  • 执行魔术并设置断点,调用来自其他程序
  • Visual的exe访问断点,我可以调试

上正在发生的事情。

EN

回答 1

Stack Overflow用户

发布于 2020-08-27 23:17:45

只需在要附加调试器的地方使用System.Diagnostics.Debugger.Launch()。您可以将其放置在所需的断点位置之前。Windows会问您要附加什么调试器。

另一种方法是检查System.Diagnostics.Debugger.IsAttached属性并等待像这样的调试器(轮询):

代码语言:javascript
复制
while (!Debugger.IsAttached)
{
    Thread.Sleep(500);
}

应用程序将循环运行,直到您附加调试器(在visual中,通过附加到process命令,Ctrl+alt+P )。同样,只要在循环之后或甚至在循环中放置一个断点,您就完成了。

这是一种众所周知的调试windows服务应用程序的方法,对您的意图也很有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63624859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档