每当我们分析挂起转储时,如果我们尝试.exr -1,
可以看到以下结果。
异常地址:000000 ExceptionCode:cfffffff(Application Hang)
.exr -1表示“抛出最后一个异常”。
应用程序挂起时是谁抛出异常。通常,在崩溃的情况下,系统抛出异常并且KiUserDispatch ...捕获它并继续。
但挂起发生时会发生什么?系统抛出异常吗?该异常记录来自何处?
答案 0 :(得分:0)
应用程序挂起不会产生任何异常,因此您必须检查所有线程的调用堆栈并尝试找出“谁在等谁”
以下命令我帮助您:
a)检查所有堆栈
~*e ?? @$tid;kvn
b)列出与所有者堆栈锁定的关键部分
!cs –l -o
您也可以尝试使用DebugDiag进行崩溃/挂起分析