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)命令。