2009-06-24 66 views
2

使用ADPlus(在崩溃转储模式下)生成.dmp文件。未处理的异常(产生完整的内存转储文件)的最终序列是...StackOverflow和进程关闭后的Windbg线程ID

第一次机会DLL卸载:包含线程ID的但不包含StackOverflowException(我不希望它在此时异常还没有引发)。

第一次机会Stackoverflow:包含线程ID,但不包含StackOverflowException。

第一次机会Process Shut Down(关闭):包含StackOverflowException但不包含线程ID。

???

有没有办法通过配置ADPlus或通过在Windbg中运行命令捕获异常并访问线程ID?

回应马格纳斯,如果线程ID不可用,是否有一些有用的信息?正在运行!线程返回一些信息,但没有线程ID和异常,似乎没有其他地方可以从那里去。在这种情况下,运行!clrstack似乎比运行!线程更有用。

回答

0

您是否尝试过!线程在WinDbg中命令转储的验尸调试期间文件?

0

打开第二个转储,并输入命令.ecxr [Enter]键
现在DDS ESP [进入]
要继续查看调用堆栈只写DDS [进入]
[进入]。 ... [输入] ....

你会probaby找到这个线程是在调用卸载DLL的中间。