如何使用 VS 2008 调试器获取所有堆栈跟踪
我正在尝试使用 VS 2008 调试器来帮助调试挂起。 如果双击“线程”窗格中的线程,我可以在“调用堆栈”窗格中看到该线程的跟踪。
我的问题是:有没有一种方法可以一次性获取所有线程的所有调用堆栈,而不必单独选择每个线程? 我想将所有线程的跟踪通过电子邮件发送给将要调查它的开发人员。
I'm trying to help debug a hang with the VS 2008 debugger. If I double click a thread in the Threads pane, I can see the trace for that thread in the Call Stack pane.
My question is: Is there a way to get all the call stacks for all the threads in one shot, without having to select each thread individually? I want to email the traces for all threads to the developer who is going to be investigating it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于应用程序开发人员来说,比文本堆栈跟踪更有用的是使用 Debug | 保存小型转储。 将转储另存为(在 Visual Studio 中)并发送。
Much more useful for the developer of an application than text stack traces would be to save a minidump using Debug | Save Dump As (in Visual Studio) and send that instead.
...尽管我在 VS 之外找到了一种更简单的方法来做到这一点。
托管堆栈资源管理器正是我所寻找的。 它是一个免费且轻量级的 exe,可以连接到正在运行的应用程序,并且可以在一个地方为您提供所有堆栈跟踪的转储。
... although I found an easier way to do this outside of VS.
Managed Stack Explorer is exactly what I was looking for. It's a free and lightweight exe that hooks into a running app, and can give you a dump of all the stack traces in one place.
使用 Visual Studio 没有很好的方法来做到这一点。
如果您能够使用 WinDbg,则可以使用以下命令来获取所有线程的堆栈跟踪。
There is no great way to do this with Visual Studio.
If you are able to use WinDbg though, you can use the following command to get the stack trace of all threads.