e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (输入值)
这些 *e*
命令将输入到指定的值的内存中。
此命令不应与 ~E(线程特定的命令) 限定符混淆。
e{b|d|D|f|p|q|w} Address [Values]
e{a|u|za|zu} Address "String"
e Address [Values]
仅限内核模式 - 物理地址
/p {[c]|[uc]|[wc]}
有关详细信息,请参阅 本主题后面的内核模式物理地址 。
参数
语法
地址
指定要在其中输入值的起始地址。 调试器将替换 Address 和每个后续内存位置的值,直到使用所有值。
值
指定要输入内存中的一个或多个值。 应用空格分隔多个数值。 如果未指定任何值,将显示该地址处的当前地址和值,系统会提示输入。
字符串
指定要输入到内存中的字符串。 ea 和 eza 命令会将此项作为 ASCII 字符串写入内存;eu 和 ezu 命令会将此信息作为 Unicode 字符串写入内存。 eza 和 ezu 命令写入终端 NULL;ea 和 eu 命令不会。 字符串 必须用引号引起来。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 实时、崩溃转储 |
平台 | 全部 |
其他信息
有关内存操作的概述和其他与内存相关命令的说明,请参阅读取和写入内存。
注解
此命令以下列形式存在。 ed 和 eD 命令的第二个字符区分大小写。
命令 | 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 |
Word 值(2 个字节)。 |
eza |
以 NULL 结尾的 ASCII 字符串。 |
ezu |
NULL 终止的 Unicode 字符串。 |
数值将解释为当前弧度中的数字(16、10 或 8)。 若要更改默认基数,请使用 n(设置基数)命令。 可以通过指定 0x 前缀(十六进制)、0n 前缀(十进制)、0t 前缀(八进制)或 0y 前缀(二进制)来重写默认弧度。
请注意 ,在使用C++表达式时,默认基数的行为方式不同。 有关详细信息,请参阅计算表达式。
使用 eb 命令输入字节值时,可以使用单引号来指定字符。 如果要包含多个字符,每个字符必须用自己的引号括起来。 这样,就可以输入一个字符串,该字符串不会以 null 字符结尾。 例如:
eb 'h' 'e' 'l' 'l' 'o'
C 样式转义字符(如 \\0
或 \\n
)可能不与这些命令一起使用。
如果省略 Values 参数,系统会提示输入。 将显示地址及其当前内容,并 显示输入> 提示。 然后,可以执行以下任一操作:
键入值并按 Enter 输入新值。
按 SPACE 后跟 Enter,保留内存中的当前值。
按 Enter 退出命令。
内核模式物理地址
在 WinDbg 版本 1.2402.24001.0 及更高版本中,e
(Enter Memory)命令支持物理地址,就像 d、da、db、dc、dd、dD、df、dp、dq、du、dw、dW、dyb、dyd(显示内存)一样。 这些选项仅在内核模式下受支持。
选项 | 说明 |
---|---|
/p |
使用显示的物理内存地址。 Range 指定的范围将取自物理内存而不是虚拟内存。 |
/p[c] |
与 /p 相同,不同之处在于将读取缓存内存。 必须包含 c 前后的括号。 |
/p[uc] |
与 /p 相同,不同之处在于将读取未缓存的内存。 必须包含 uc 前后的括号。 |
/p[wc] |
与 /p 相同,不同之处在于将读取写入组合内存。 必须包含 wc 前后的括号。 |