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 和每个后续内存位置的值,直到使用所有


指定要输入内存中的一个或多个值。 应用空格分隔多个数值。 如果未指定任何值,将显示该地址处的当前地址和值,系统会提示输入。

字符串
指定要输入到内存中的字符串。 eaeza 命令会将此项作为 ASCII 字符串写入内存;euezu 命令会将此信息作为 Unicode 字符串写入内存。 ezaezu 命令写入终端 NULL;eaeu 命令不会。 字符串 必须用引号引起来。

环境

说明
模式 用户模式、内核模式
目标 实时、崩溃转储
平台 全部

其他信息

有关内存操作的概述和其他与内存相关命令的说明,请参阅读取和写入内存

注解

此命令以下列形式存在。 ed 和 eD 命令的第二个字符区分大小写。

命令 Enter

e

这会以与最新的 e 命令相同的格式输入数据。 (如果最新 e 命令是 eaezaeuezu,最终参数为 String ,不能省略。

ea

ASCII 字符串(而不是 NULL 终止)。

eb

字节值。

ed

双字值(4 个字节)。

eD

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

ef

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

ep

指针大小的值。 此命令等效于 edeq,具体取决于目标计算机的处理器体系结构是 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 前后的括号。

另请参阅

读取和写入内存

d、da、db、dc、dd、dD、df、dp、dq、du、dw、dW、dyb、dyd(显示内存)

计算表达式