编辑: LinDa_学友 2019-07-09

/'

.同时 addr 也是 可选择的参数,如果我们没有设定 addr 的值,则默认的值会是下一个地址. 例如,假若在内存的 0x7c00 处存放着一个双字 0xc031fcfa,则我们用如下的一些查询 命令就会显示出不同的结果. 命令:x 0x7c

00、x /b 0x7c

00、x /2hx 0x7c

00、x /2hd 0x7c00. 图2-9 查看内存内容 如图 3-9 所示以上的命令都会有相应的不同的结果显示出来.特别的,我们在使用了 x /1bx 0x7c00 的命令后紧接着使用 x /b 的话则会显示 0xfc.另外还有一个设置内存值的命令 如下: setpmem addr datasize val 将内存物理地址 addr 处datasize 大小的单元设置为 val 例如:setpmem 0x7c00

1 0 即将 0x7c00 处的一个字节的单元的值赋为了 0,这个时候 若在使用 x /1hx 0x7c00 命令则会显示 0xfc00. ? 查看信息的命令 r/reg/regs/registers 列出 CPU 的所有寄存器以及它们的当前值 fp/fpu 列出所有 FPU 寄存器和他们的当前值 mmx 列出所有 MMX 寄存器和他们的当前值 sse 列出所有 SSE 寄存器和他们的当前值 sreg 显示段寄存器以及它们的内容 creg 显示控制寄存器以及它们的内容 info cpu 列出所有 CPU 寄存器和他们的当前值 info eflags 显示 eflags 寄存器的内容 info break 显示当前的断点信息 ? 操作 CPU 寄存器的命令 set reg = expr 将reg寄存器设置为expr在目前我们只能够修改以下的寄存器 的值: eflags、eip、cs、ss、ds、es、fs、gs 例如: set eax=2 ? 指令追踪命令 trace on 分解每一条可执行的指令,记录每一条导致异常的指令 trace off 关闭指令追踪 ? 其它的命令 ptime 在屏幕上打印当前的时间(开始模拟后所经过的单位时间数) sb delta 插入一个时间断点,其中 delta 是相对于当前时间所过的单位 时间数,例如像:sb 1000L,则当程序向后执行

1000 个单位时间后便会自动停下来,如图 3-10 所示: 图2-10 相对时间断点 sba time 插入一个时间断点,其中 time 代表开始模拟后所经过的单位 时间,例如像 sba 1000L,则当模拟开始后经过

1000 个单位时间后便会自动停下来,如图 3-11 所示: 图2-11 绝对时间断点 record filename 将控制台所输入的命令记录到一个文件中,文件名为 filename playback filename 将文件中记录的命令读出来输入到控制台中 print-stack [num] 打印堆栈中所存放的 num 个16bit 的字在屏幕上.num 值 在缺省的情况下为 16.在保护模式中仅仅是在堆栈基址为

0 的时候该命令才有效. 例如当我们输入:print-stack

3 时就会显示出从栈顶开始的

3 个字,如下图所示: 图2-12 查看堆栈内容 ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题