【发布时间】:2015-07-17 16:49:51
【问题描述】:
我有一个正在运行的 C# 应用程序陷入某种死锁,我想获取所有正在运行的线程的堆栈跟踪来分析问题。不幸的是,这个应用程序是一个发布版本,我丢失了 pdb 文件。
当我附加一个 VS2013 调试器(通过远程调试)时,我可以看到线程列表,但看不到任何堆栈跟踪。堆栈跟踪窗口只包含每个线程的“外部代码”。
查看基本堆栈跟踪会很有帮助 - 我不关心行号等细节。
更新 我实际上观察到,只要我运行发布配置(远程主机运行与 VS 中完全相同的构建,并且 PDB 可用),我就会遇到完全相同的问题。我只能在调试版本中看到堆栈跟踪。除了缺少 PDB 文件之外,这可能是其他问题吗?
【问题讨论】:
-
您可以尝试执行本机调试而不是托管调试。这应该向您显示堆栈跟踪。如果您想查看每个线程在内部执行的系统调用,这非常有用。您自己的代码可能很难跟踪。
标签: c# .net debugging stack-trace