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)

posted on 2019-09-23 21:04  活着的虫子  阅读(833)  评论(2编辑  收藏  举报

导航