WinDbg常用命令系列---显示段选择器dg、链接列表dl和字符串ds/dS

dg (Display Selector)

dg命令显示指定选择器的段描述符。

dg FirstSelector [LastSelector]

参数:

  • FirstSelector
    指定要显示的第一个选择器的十六进制选择器值。
  • LastSelector
    指定要显示的最后一个选择器的十六进制选择器值。如果省略,则只显示一个选择器。

此命令最多只能显示256个选择器。常用选择器值为:

ID十进制十六进制

KGDT_NULL

0

0x00

KGDT_R0_CODE

8

0x08

KGDT_R0_DATA

16

0x10

KGDT_R3_CODE

24

0x18

KGDT_R3_DATA

32

0x20

KGDT_TSS

40

0x28

KGDT_R0_PCR

48

0x30

KGDT_R3_TEB

56

0x38

KGDT_VDM_TILE

64

0x40

KGDT_LDT

72

0x48

KGDT_DF_TSS

80

0x50

KGDT_NMI_TSS

88

0x58

dl (Display Linked List)

dl命令显示LIST_ENTRY or SINGLE_LIST_ENTRY列表。

dl[b] Address MaxCount Size

参数:

  • b
    如果包含此项,则按相反顺序转储列表。这不能与SINGLE_LIST_ENTRY条目一起使用。
  • Address
    列表的起始地址。
  • MaxCount
    要转储的最大元素数。
  • Size
    每个元素的大小。这是将为列表中的每个元素显示的连续ULONG_PTRs数。

此列表必须是LIST_ENTRY或SINGLE_LIST_ENTRY结构。如果这是嵌入在更大,显示以地址开始。因此,如果要提供指向列表开头的指针的地址,则应忽略打印的第一个元素。address、maxcount和size参数在当前默认基数中。可以使用n(set number base)命令或x前缀更改基数。如果列表自身循环,则转储将停止。如果遇到空指针,转储将停止。如果要对列表中的每个元素执行某些命令,请使用!list列表扩展名。

ds, dS (Display String)

ds和dS命令显示字符串、STRING, ANSI_STRING或UNICODE_STRING结构。(这些命令不显示以空分隔的字符串。)

d{s|S} [/c Width] [Address]

参数:

  • s
    指定要显示STRING or ANSI_STRING字符串结构。(这是区分大小写的。)
  • S
    指定要显示的Unicode字符串结构。(这是区分大小写的。)
  • /c Width
    指定每行显示的字符数。此数字包含空字符,这些字符将不可见。
  • Address
    字符串开始的内存地址。如果省略,则假定显示命令中使用的最后一个地址。

如果要在windbg的locals窗口或watch窗口中显示unicode字符串,则需要首先使用.enable_unicode (Enable Unicode Display)命令。

原文地址:https://www.cnblogs.com/yilang/p/11457828.html