Debugging Tools for Windows

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

e*命令在内存中输入指定的值。

该命令不要和~E(Thread-Specific Command)限定符混淆。

语法 eD ef

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

参数

Address
指定要改写数据的开始位置。调试器替换Address 和之后的每个内存位置,直到所有的Values 都被使用到。
Values
指定要写入内存的一个或多个值。多个数字值之间需要使用空格分隔。如果不指定任何值,则显示指定位置的值,并提示输入数据。
String
指定要写入内存的字符串。eaeza 命令会把它作为ASCII字符串写入内存; euezu 命令会把它作为Unicode字符串写入内存。ezaezu 命令会写入结尾的NULL字符;eaeu 命令不会。String 必须用引号括起来。

环境

模式 用户模式、内核模式
目标 活动目标、崩溃转储
平台 所有

注释

该命令存在以下这些形式。edeD 命令的第二个字符区分大小写。

命令 输入
e 输入数据的格式和前一次e* 命令一样。(如果上一次的e*命令是eaezaeuezu,则最后一个参数是String并且不能省略。)
ea ASCII 字符串(不以NULL结尾)。
eb 字节值。
ed 双字值(4字节)。
eD 双精度浮点数(8字节)。
ef 单精度浮点数(4字节)。
ep 指针大小的值。该命令根据目标机的处理器架构是32位还是64位,可能分别等于edeq
eq 4字值(8字节)。
eu Unicode字符串(非NULL结尾)。
ew 字值(2字节)。
eza NULL结尾的ASCII字符串。
ezu NULL结尾的Unicode字符串。

数字值会以当前基数(16、10,或者8)进行解析。使用n (Set Number Base)命令来改变默认基数。默认基数可以通过指定0x(16进制)、0n (10进制)、0t (8进制)或0y (2进制)前缀来覆盖。

注意 使用C++ 表达式时默认基数的行为有所不同。查看表达式求值获取详细信息。

使用eb命令输入字节值时,可以通过单引号来指定字符。如果想包含多个字符,每个都必须单独用单引号包含。这样可以输入非null结尾的字符串。例如:

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

这些命令中不能使用C形式的转义字符(如'\0' 或'\n')。

如果省略Values 参数,会提示进行输入。指定的地址和它的内容会显示出来,并且出现Input> 提示符。这时可以进行如下这些操作:

附加信息

内存操作的概述和内存相关命令,查看读写内存

Build machine: CAPEBUILD