如何使用WinDBG列出所有托管线程的调用堆栈?
我有一个从托管应用程序创建的转储。我正在使用 SOS/SOSEX 扩展来简化转储分析。我想列出所有托管线程的调用堆栈,就像我们对本机应用程序执行 ~*kb
一样。我们该怎么做呢?
I have a dump created from a managed application. I am using SOS/SOSEX extentions to ease my dump analysis. I'd like to list down the call stack of all managed threads as we do ~*kb
with native applications. How do we do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 sos
!EEStack
命令:请参阅SOS.dll(SOS 调试扩展)
Use the sos
!EEStack
command:See SOS.dll (SOS Debugging Extension)
该命令将转储所有托管线程
This command will dump all managed threads
对于 sosex,使用 ~*e!mk (~ - 线程,* - 全部,e - 执行此命令,!mk - 显示托管堆栈。sosex 中的大多数命令镜像本机命令,但在中包含 m(托管)他们面前。
with sosex, use ~*e!mk (~ - thread, * - all, e - execute this command, !mk - display managed stack. Most of the commands in sosex mirror the native command, but have the m (managed) in front of them.