c 继续执行@H_301_4@@H_301_4@ stepi [count]@H_301_4@ 执行一定count数量的指令,缺省值为1 s@H_301_4@ [count] 执行一定count数量的指令,缺省值为1 Ctrl-D 如果命令行有空行,则退出(不知道什么意思)@H_301_4@@H_301_4@ quit 退出@H_301_4@@H_301_4@ q 退出@H_301_4@@H_301_4@ |
vbreak seg:off 设置一个虚拟地址断点@H_301_4@@H_301_4@ vb seg:off@H_301_4@@H_301_4@ @H_301_4@ lbreak addr 设置线性地址断点@H_301_4@@H_301_4@ lb addr@H_301_4@@H_301_4@ @H_301_4@ pbreak [*] addr 设置物理地址断点@H_301_4@@H_301_4@ pb [*] addr (*号代表可选的GDB能力)@H_301_4@@H_301_4@ break[*] addr@H_301_4@ b [*] addr@H_301_4@@H_301_4@ @H_301_4@ info break@H_301_4@ 显示所有断点 del n@H_301_4@@H_301_4@ d n@H_301_4@@H_301_4@ |
操作内存@H_301_4@
x/nuf addr@H_301_4@ 显示在addr线性内存处的内存数据 n @H_301_4@要显示的数据个数 b 一字节 @H_301_4@ h 2字节 @H_301_4@ w 4字节 @H_301_4@ g 8字节 @H_301_4@ NOTE: 这里的格式和Intel的不一样,但是与GDB转换相一致 @H_301_4@ f 显示格式下面其中之一 @H_301_4@@H_301_4@ x 使用16进制 @H_301_4@ d 使用10进制 @H_301_4@ u 使用无符号10进制@H_301_4@ o 使用8进制 @H_301_4@ t 使用2进制 @H_301_4@ n,f,和 u 都是可选的参数.u 和 f 缺省值为上一次设置的值。如果没有指定@H_301_4@ 则缺省值为w和x。@H_301_4@ n 的缺省值为1。@H_301_4@ Addr 也是可选的参数。如果不指定则会自动地指定为下一个地址。@H_301_4@ @H_301_4@ setpmem addr datasize val 设置addr一片大小为datasize的物理内存的值为val@H_301_4@@H_301_4@ @H_301_4@ crcaddr1addr2 显示范围从addr1到addr2的校验@H_301_4@@H_301_4@ info dirty 显示从上一次显示到现在为止的脏(被写到的)的物理页@H_301_4@@H_301_4@ 显示的值为最上头的20个字节(页地址)@H_301_4@ 上面这些我自己看不明白什么意思@H_301_4@@H_301_4@
@H_301_4@
|
@H_301_4@ |
info program 程序执行情况可以用info p代替@H_301_4@@H_301_4@ info registers 列出cpu的寄存器和寄存器里面的值可以用info r代替@H_301_4@@H_301_4@ info break 当前所有断点的信息可以用info b代替@H_301_4@@H_301_4@ |
set $reg = val 设置一个寄存器reg的值为val.@H_301_4@@H_301_4@ 寄存器可以是:@H_301_4@ eax,ecx,edx,ebx,esp,ebp,esi,edi.@H_301_4@@H_301_4@ 通常不应该修改下列:@H_301_4@@H_301_4@ eflags,cs,ss,ds,es,fs,gs.@H_301_4@@H_301_4@ @H_301_4@ 例子: set $eax = 0x01234567@H_301_4@@H_301_4@ set $edx = 25@H_301_4@@H_301_4@ @H_301_4@ info registers 查看寄存器信息@H_301_4@@H_301_4@ dump_cpu 查看完整的cpu状态信息@H_301_4@@H_301_4@ set_cpu 设置cpu状态@H_301_4@@H_301_4@ |
新命令@H_301_4@
trace-on@H_301_4@ |
trace-off@H_301_4@ |
ptime@H_301_4@ |
sb delta@H_301_4@ |
插入一个基于时间设置在之后的断点,delta是一个64位的后面有一个L字符的整型数,如1000L。好像是偏移的意思。@H_301_4@
sba time@H_301_4@ |
插入一个基于指定时间的断点@H_301_4@
record filename@H_301_4@ |
playback filename@H_301_4@ |
print-stack [num words]@H_301_4@ |
watch stop@H_301_4@ |
watch continue@H_301_4@ |
碰到监视点时不停止 @H_301_4@
watch@H_301_4@ |
unwatch@H_301_4@ |
去掉所有监视点. @H_301_4@
watch read address@H_301_4@ |
watch write address@H_301_4@ |
unwatch read address@H_301_4@ |
unwatch write address@H_301_4@ |
show [string]@H_301_4@ |
@H_301_4@
触发show信息.@H_301_4@ show – 显示当前的show模式@H_301_4@ show "mode" – 当处理器转换模式时显示@H_301_4@ show "int" – 当中断发生时显示@H_301_4@ show "call" – 当调用发生时显示@H_301_4@ show "ret" – 当iret发生时显示@H_301_4@ show "off" - toggles off symbolic info@H_301_4@ show "dbg-all" – 打开所有的show标记@H_301_4@ show "none" – 关闭所有的show标记@H_301_4@ |