WinDBG 中的 !slist 命令

3

我使用的是64位Windows 7 SP1操作系统。在WinDBG中,我打开了一个可执行文件并输入了以下命令:

!slist $teb _EXCEPTION_REGISTRATION_RECORD 0

但这是我得到的结果:
SLIST HEADER:
   +0x000 Header8.Sequence          : fd
   +0x000 Header8.Depth            : d000
   +0x008 Region             : 0

SLIST CONTENTS:
00000000001d0110
   +0x000 Next             : ???? 
   +0x008 Handler          : ???? 
Can't read memory at 00000000001d0110, error 0

我不明白出了什么问题。
编辑:我正在尝试手动显示异常处理程序链。如果我输入
!exchain

一切运作良好:

4 stack frames, scanning for handlers...
Frame 0x00: ntdll!LdrpDoDebuggerBreak+0x30 (00000000`7787cb70)
  ehandler ntdll!_C_specific_handler (00000000`777e852c)
Frame 0x01: ntdll!LdrpInitializeProcess+0x17c7 (00000000`77832bed)
  ehandler ntdll!_GSHandlerCheck (00000000`777e9840)
Frame 0x02: ntdll! ?? ::FNODOBFM::`string'+0x28ff0 (00000000`77811937)
  ehandler ntdll!_C_specific_handler (00000000`777e852c)
1个回答

3

当使用64位的WinDBG调试32位可执行文件时,会发生这种情况。最好安装WinDBG的两个版本,并使用32位版本调试32位应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接