我有一个托管代码Windows服务应用程序,由于托管StackOverFlowException,它偶尔会在生产中崩溃.我知道这是因为我在崩溃模式下运行了adplus并使用SoS分析了故障转储.我甚至连接了windbg调试器并将其设置为"go unhandled exception".
我的问题是,我看不到任何托管堆栈或切换到任何线程.在调试器中断时,它们都被拆除了.
我不是Windbg专家,而且,除了在实时系统上安装Visual Studio或使用该工具进行远程调试和调试外,是否有人建议如何从违规线程中获取堆栈跟踪?
这就是我正在做的事情.
!线程
...
XXXX 11 27c 000000001b2175f0 b220已禁用00000000072c9058:00000000072cad80 0000000019bdd3f0 0 Ukn System.StackOverflowException(0000000000c010d0)
...
此时你会看到XXXX ID表明线程已经死了.