博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WinDbg常用命令系列---内存查看d*

Posted on 2022-01-19 22:13  linFen  阅读(646)  评论(0编辑  收藏  举报

*命令显示给定范围内的内存内容。

1
2
3
d{a|b|c|d|D|f|p|q|u|w|W} [Options] [Range]
dy{b|d} [Options] [Range]
d [Options] [Range]

参数:

  • Options
    指定一个或多个显示选项。可以包括以下任何选项,但不能指示多个/p*选项:
    /cWidth:指定要在显示中使用的列数。如果省略此选项,则默认列数取决于显示类型。
    /p:(仅限内核模式)使用物理内存地址进行显示。范围指定的范围将从物理内存而不是虚拟内存中获取。
    /p[c]:(仅限内核模式)与/P相同,只是将读取缓存内存。必须包括c周围的括号。
    /p[uc]:(仅限内核模式)与/P相同,只是将读取未缓存的内存。必须包括uc周围的括号
    /p[wc]:(仅限内核模式)与/P相同,但写入组合内存将被读取。wc周围的支架必须包括在内。
  • Range
    指定要显示的内存区域。如果省略范围,命令将显示从最后一个显示命令结束位置开始的内存。如果省略了范围并且没有使用以前的显示命令,则显示将从当前指令指针开始。

显示的每一行将包括行中第一个字节的地址,后面是该位置和后面位置的内存内容。如果省略范围,命令将显示从最后一个显示命令结束位置开始的内存。这允许您连续扫描内存。此命令的形式如下。dd、dD、dw和dW命令的第二个字符区分大小写,dyb和dyd命令的第三个字符也区分大小写。

Command显示
d 这与最新的 d 命令相同的格式显示数据。 如果没有以前的 d 命令已发出,d 具有与数据库相同的效果。 请注意,d 重复以 d 开头的最新命令。 这包括 dda、 ddp、 ddu、 dpa、 dpp、 dpu、 dqa、 dqp、 dqu、 dds、 dps、 dqs、 ds、 dS、 dg、 dl、 dt,和 dv,以及在此页上显示命令。 如果给定 d 后的参数不合适,可能会导致错误。
da ASCII 字符。 每行显示最多 48 个字符。 第一个 null 字节或之前已显示范围中的所有字符,将继续显示。 所有非打印字符,如回车符和换行符,显示为句点 (.)。
db 字节值和 ASCII 字符。 每个显示行的地址的第一个字节显示在行中后, 跟最多 16 个十六进制字节值。 字节值后面的相应 ASCII 值。 第八个和第九个十六进制值由连字符 (-) 分隔。 所有非打印字符,如回车符和换行符,显示为句点 (.)。 默认计数是 128 个字节。
dc 双字值 (4 字节) 和 ASCII 字符。 每个显示行显示的第一个单词的地址行中和最多八个十六进制字值,以及其 ASCII 等效。 默认计数是 32 dword 值 (128 个字节)。
dd 双字值 (4 个字节为单位)。默认计数是 32 dword 值 (128 个字节)。
dD 双精度浮点数 (8 字节为单位)。 默认计数是 15 个数字 (120 字节为单位)。
df 单精度浮点数 (4 个字节为单位)。 默认计数是 16 位的号码 (64 个字节)。
dp 指针大小值。 此命令相当于 dd 或 dq,具体取决于目标计算机的处理器体系结构是 32 位或 64 位分别。 默认计数为 32 的 dword 值或 16 个四字 (128 个字节)。
dq 四字值 (8 字节为单位)。 默认计数是 16 个四字 (128 个字节)。
du Unicode 字符。 每行显示最多 48 个字符。 第一个 null 字节或之前已显示范围中的所有字符,将继续显示。 所有非打印字符,如回车符和换行符,显示为句点 (.)。
dw 字值 (2 个字节)。 在行中,最多八个十六进制字值,每个显示行显示的第一个单词的地址。 默认计数是 64 单词 (128 个字节)。
dW 字值 (2 个字节) 和 ASCII 字符。 在行中,最多八个十六进制字值,每个显示行显示的第一个单词的地址。 默认计数是 64 单词 (128 个字节)。
dyb 二进制值和字节值。 默认计数为 32 个字节。
dyd 二进制值和双字值 (4 个字节为单位)。 默认计数是 8 Dword (32 字节)。

如果试图显示无效的地址,其内容如下所示的问号 (  )。