Bochs常用调试指令

前端之家收集整理的这篇文章主要介绍了Bochs常用调试指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
执行命令
  1. c 继续执行
  1. stepi [count] 执行一定count数量的指令,缺省值为1
    si [count] 执行一定count数量的指令,缺省值为1
    step[count] 执行一定count数量的指令,缺省值为1
  1. s [count] 执行一定count数量的指令,缺省值为1
    Ctrl-C 停止执行,返回到命令行方式
  1. Ctrl-D 如果命令行有空行,则退出(不知道什么意思)
  1. quit 退出
  1. q 退出
设置断点
  1. vbreak seg:off 设置一个虚拟地址断点
  1. vb seg:off
  1. lbreak addr 设置线性地址断点
  1. lb addr
  1. pbreak [*] addr 设置物理地址断点
  1. pb [*] addr (*号代表可选的GDB能力)
  1. break[*] addr
  1. b [*] addr
  1. info break 显示所有断点
    delete n 删除断点
  1. del n
  1. d n
操作内存
  1. x/nuf addr 显示addr线性内存处的内存数据
    xp /nuf addr 显示addr物理内存处的内存数据
  1. n 显示的数据个数
    u 显示单元大小; 下面其中之一
  1. b 一字节
  1. h 2字节
  1. w 4字节
  1. g 8字节
  1. NOTE: 这里的格式和Intel的不一样,但是与GDB转换相一致
  1. f 显示格式下面其中之一
  1. x 使用16进制
  1. d 使用10进制
  1. u 使用无符号10进制
  1. o 使用8进制
  1. t 使用2进制
  1. n,f,和 u 都是可选的参数.u f 缺省值为上一次设置的值。如果没有指定
  1. 则缺省值为wx
  1. n 的缺省值为1
  1. Addr 也是可选的参数。如果不指定则会自动地指定为下一个地址。
  1. setpmem addr datasize val 设置addr一片大小为datasize的物理内存的值为val
  1. crcaddr1addr2 显示范围从addr1addr2的校验
  1. info dirty 显示从上一次显示到现在为止的脏(被写到的)的物理页
  1. 显示的值为最上头的20个字节(页地址)
  1. 上面这些我自己看不明白什么意思
显示信息命令
  1. info program 程序执行情况可以用info p代替
  1. info registers 列出cpu的寄存器和寄存器里面的值可以用info r代替
  1. info break 当前所有断点的信息可以用info b代替
操作 cpu 寄存器
  1. set $reg = val 设置一个寄存器reg的值为val.
  1. 寄存器可以是:
  1. eax,ecx,edx,ebx,esp,ebp,esi,edi.
  1. 通常不应该修改下列:
  1. eflags,cs,ss,ds,es,fs,gs.
  1. 例子: set $eax = 0x01234567
  1. set $edx = 25
  1. info registers 查看寄存器信息
  1. dump_cpu 查看完整的cpu状态信息
  1. set_cpu 设置cpu状态
新命令
  1. trace-on
每执行一条指令就显示出相应的反汇编命令,导致异常的指令并不是真正的执行,因此不能被追踪。
  1. trace-off
禁止追踪.
  1. ptime
显示当前时间(从开始模拟到现在为止的tick数量,以2^32为模)
  1. sb delta
插入一个基于时间设置在之后的断点,delta是一个64位的后面有一个L字符的整型数,如1000L。好像是偏移的意思。
  1. sba time
插入一个基于指定时间的断点
  1. record filename
记录控制台输入到文件 filename. 文件由0和许多行”%s %d %x”组成,第一个词为事件类型,第二个是时间戳第三个是事件的数据细节
  1. playback filename
文件filename回放控制台输入. 可以在控制台窗口直接进行额外的输入.
  1. print-stack [num words]
显示堆栈顶端num words个16位的字。只有堆栈段的基地址为0的时候才能可靠的工作在保护模式下。
  1. watch stop
当遇到一个监视点时停下来回到提示命令行方式.
  1. watch continue
碰到监视点时不停止
  1. watch
显示当前监视点的状态.
  1. unwatch
去掉所有监视点.
  1. watch read address
address地址出加入一个读监视点
  1. watch write address
address地址处加入一个写监视点.
  1. unwatch read address
address 地址处去掉一个读监视点.
  1. unwatch write address
从address 地址处去掉一个写监视点 . .
  1. show [string]
  1. 触发show信息.
  1. show 显示当前的show模式
  1. show "mode" 当处理器转换模式时显示
  1. show "int" 当中断发生时显示
  1. show "call" 调用发生时显示
  1. show "ret" iret发生时显示
  1. show "off" - toggles off symbolic info
  1. show "dbg-all" 打开所有的show标记
  1. show "none" 关闭所有的show标记

猜你在找的VB相关文章