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命令的第二个字符区分大小写。
Command | Enter |
---|---|
e | 这将以与最新的e*命令相同的格式输入数据。(如果最新的e*命令是ea、eza、eu或ezu,则最后一个参数将是string,不能省略。) |
ea | ASCII 字符串 (不以 NULL 终止)。 |
eb | 字节值。 |
ed | 双字值 (4 个字节为单位)。 |
eD | 双精度浮点数 (8 字节为单位)。 |
ef | 单精度浮点数 (4 个字节为单位)。 |
ep | 指针大小值。 此命令是等效于ed或eq,具体取决于目标计算机的处理器体系结构是否 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键。
- 按空格键,然后按回车键,将当前值保留在内存中。
- 按回车键退出命令。
来源:博客园
作者:活着的虫子
链接:https://www.cnblogs.com/yilang/p/11557602.html