WinDbg常用命令系列---显示当前异常处理程序链!exchain
!exchain
这个!exchain扩展命令显示当前异常处理程序链。
!exchain [Options]
参数:
- Options
下列值之一:- /c
-
如果检测到异常,则显示与调试C++ try/catch异常相关的信息。
- /C
-
显示与调试C++try/catch异常相关的信息,即使在没有检测到异常的情况下也是如此。
- /f
-
显示通过遍历CRT函数表获得的信息,即使未检测到CRT异常处理程序。
DLL
Windows 2000 |
Ext.dll |
Windows XP and later |
Ext.dll |
这个!exchain扩展命令仅适用于基于x86的目标计算机。显示当前线程的异常处理程序列表。
该列表从链上的第一个处理程序(第一个有机会处理异常的处理程序)开始,一直到最后。下面的示例显示了此扩展。
0:000> !exchain 0012fea8: Prymes!_except_handler3+0 (00407604) CRT scope 0, filter: Prymes!dzExcepError+e6 (00401576) func: Prymes!dzExcepError+ec (0040157c) 0012ffb0: Prymes!_except_handler3+0 (00407604) CRT scope 0, filter: Prymes!mainCRTStartup+f8 (004021b8) func: Prymes!mainCRTStartup+113 (004021d3) 0012ffe0: KERNEL32!GetThreadContext+1c (77ea1856)
在一例
0:000> !exchain 004ff8a0: MSVCR120D!_except_handler4+0 (0f65fef0) CRT scope 0, func: MSVCR120D!doexit+17d (0f57ee4d) 004ff8fc: ConsoleApplication3!ILT+140(__except_handler4)+0 (00f91091) 004ff960: ntdll!_except_handler4+0 (77762bf0) CRT scope 0, filter: ntdll!__RtlUserThreadStart+398a7 (7778da40) func: ntdll!__RtlUserThreadStart+398ee (7778da87) 004ff978: ntdll!FinalExceptionHandlerPad25+0 (7776f339)
为虫子生,为虫子死,为虫子奋斗一辈子