WinDbg常用命令系列---输入内存值的命令e*

匿名 (未验证) 提交于 2019-12-03 00:09:02

e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (Enter Values)

e*命令将您指定的值输入内存。不要将此命令与~e(Thread-Specific Command)限定符混淆。

e{b|d|D|f|p|q|w} Address [Values]  e{a|u|za|zu} Address "String"  e Address [Values]

参数:

  • Address
    指定输入值的起始地址。调试器将替换地址和每个后续内存位置处的值,直到所有值都被使用为止。
  • Values
    指定要输入内存的一个或多个值。多个数值应该用空格分隔。如果未指定任何值,则将显示当前地址和该地址的值,并提示您输入。
  • String
    指定要输入内存的字符串。ea和eza命令将此作为ascii字符串写入内存;eu和ezu命令将此作为unicode字符串写入内存。eza和ezu命令会写入一个终端空值;ea和eu命令不会。字符串必须用引号括起来。

环境:

ģʽ

用户模式下,内核模式

目标

实时、 崩溃转储

ƽ̨

全部

此命令存在于以下表单中。ed和eD命令的第二个字符区分大小写。

CommandEnter

e

这将以与最新的e*命令相同的格式输入数据。(如果最新的e*命令是ea、eza、eu或ezu,则最后一个参数将是string,不能省略。)

ea

ASCII 字符串 (不以 NULL 终止)。

eb

字节值。

ed

双字值 (4 个字节为单位)。

eD

双精度浮点数 (8 字节为单位)。

ef

单精度浮点数 (4 个字节为单位)。

ep

指针大小值。 此命令是等效于edeq,具体取决于目标计算机的处理器体系结构是否 32 位或 64 位分别。

eq

四字值 (8 字节为单位)。

eu

Unicode 字符串 (不以 NULL 终止)。

ew

字值 (2 个字节)。

eza

以 NULL 结尾的 ASCII 字符串。

ezu

以 NULL 结尾的 Unicode 字符串。

数值将被解释为当前基数(16、10或8)中的数字。要更改默认基数,请使用n(set number base)命令。可以通过指定x前缀(十六进制)、0n前缀(十进制)、0t前缀(八进制)或0y前缀(二进制)覆盖默认基数。当使用C++表达式时,默认基数的行为不同。使用eb命令输入字节值时,可以使用单直引号指定字符。如果要包含多个字符,则每个字符都必须用自己的引号括起来。这允许您输入不以空字符结尾的字符串。例如:

eb 'h' 'e' 'l' 'l' 'o'

C样式转义字符(例如“\0”或“\n”)不能与这些命令一起使用。

如果省略values参数,系统将提示您输入。将显示地址及其当前内容,并出现“输入>提示”。然后,您可以执行以下任一操作:

  • 输入新值,方法是键入值并按enter键。
  • 按空格键,然后按回车键,将当前值保留在内存中。
  • 按回车键退出命令。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!