!list命令使用一例

Windows内核调试

!list命令使用一例


advdbg 2007-04-23, 17:24 下午

列表(list)是一种非常常用的数据结构。在Windows的内核态和用户态模块中都有很多应用。调试时观察列表的各个节点是一个常见的任务。0:001> dt _LIST_ENTRY
   +0x000 Flink            : Ptr32 _LIST_ENTRY
   +0x004 Blink            : Ptr32 _LIST_ENTRY
为了辅助支持链表有关的调试任务,WinDbg专门设计了一个!list命令。使用这个命令可以对链表的每个节点执行一个动作。

比如,以下命令会显示出每个线称的异常处理器链条(FS Chain)的每个节点。

0:000> !list -x "dd" -a "l4" 0013de34
0013de34  0013ff0c 304af1b4 00000000 0013ff18

0013ff0c  0013ffb0 304ae424 ffffffff 0013ffc0

0013ffb0  0013ffe0 304ac0fc 30001a78 00000000

0013ffe0  ffffffff 7c839a00 7c816fe0 00000000

ffffffff  ???????? ???????? ???????? ????????

Cannot read next element at ffffffff

Powered by Community Server Powered by CnForums.Net