WinDbg常用命令系列---显示数据类型dt/dtx
dt (Display Type)
dt命令显示有关局部变量、全局变量或数据类型的信息。这可以显示有关简单数据类型以及结构和联合的信息。
用户模式下:
dt [-DisplayOpts] [-SearchOpts] [module!]Name [[-SearchOpts] Field] [Address] [-l List] dt [-DisplayOpts] Address [-l List] dt -h
内核模式下:
[Processor] dt [-DisplayOpts] [-SearchOpts] [module!]Name [[-SearchOpts] Field] [Address] [-l List] dt [-DisplayOpts] Address [-l List] dt -h
参数:
- Processor
指定运行包含所需信息的进程的处理器。只能在内核模式下指定处理器。 - DisplayOpts
指定下表中给定的一个或多个选项。这些选项前面有连字符。
Option 描述 -a[quantity]
带有其索引的新行上显示每个数组元素。 总共数量将显示元素。 必须有之间没有空格并quantity。 如果-a后面不接数字,该数组中的所有项所都示。 -A[quantity] 开关应出现立即每个类型名称或字段名称的前您想在这种方式中显示。
-b
显示基块以递归方式。 如果显示的结构包含子结构,它是以递归方式展开到任意深度和完整显示。 仅当它们是不在子结构的原始结构中,指针会展开。
-c
压缩输出。 如有可能在同一行显示所有字段。 (与一起使用时-a交换机,每个数组元素都占用一行,而不是格式为多个行块。)
-d
与一起使用时名称的已结束,但一个星号,显示以开头的所有类型的详细输出名称。 如果名称不以星号结尾,则显示详细输出。
-e
强制dt枚举类型。 如果仅需要此选项dt错误地解释名称实例而不是一种类型的值。
-i
不缩进子类型。
-o
省略结构字段的偏移量的值。
-p
地址是一个物理地址,而不是虚拟的地址。
-r[depth]
以递归方式转储的子类型字段。 如果深度是,此递归将停止后深度级别。 深度都必须是介于 1 和 9 之间的数字和必须之间没有空格r并深度。 -R[深度] 交换机应出现在立即之前地址。
-s size
仅这些中的类型的大小字节数等于的值枚举大小。 -S正在枚举类型时,选项才有用。 当-s指定,则-e始终也暗示。
-t
枚举仅适用于类型。
-v
详细输出。 这样,例如总大小的结构和它的元素数的其他信息。 这用于时沿-y搜索选项,将显示所有符号,甚至包括那些没有关联的类型信息。
- SearchOpts
指定下表中给定的一个或多个选项。这些选项前面有连字符。
Option 描述 -n
这表示下一个参数是一个名称。 这应在下一项完全十六进制字符组成,因为它否则将执行作为一个地址。
-y
这指示下一个参数的名称,不一定是整个名称开头。 当-y是包含,所有列出了匹配项,然后上列表中的第一个匹配项的详细信息。 如果-y是未包含,就会显示仅完全匹配项。
- module
指定定义此结构的模块的可选参数。如果存在与全局变量或类型同名的局部变量或类型,则应包含模块以指定您是指全局变量。否则,dt命令将显示局部变量,即使局部变量是不区分大小写的匹配,而全局变量是区分大小写的匹配。 - Name
指定类型或全局变量的名称。如果名称以星号(*)结尾,将显示所有匹配项的列表。因此,dt a*将列出以“a”开头的所有数据类型、全局和静态,但不会显示这些类型的实际实例。(如果同时使用-v display选项,则将显示所有符号,而不仅仅是具有相关类型信息的符号。)您还可以用句点(.)替换名称,以表示您要重复最近使用的名称值。如果名称包含空格,则应将其括在括号中。