bochs调试命令总结
来源:互联网 发布:色调 转化为rgb c语言 编辑:程序博客网 时间:2024/05/22 06:15
最近在调试操作系统,用的bochs虚拟机,简单总结下调试命令。
1 执行控制指令
c/cont/continue连续执行
s/step/stepi [count]
执行count条指令,默认为1条,会跟进到函数和中断调用的内部
p/n/next [count]
执行count条指令,默认为1条,但跳过函数和中断调用
Ctrl+C
停止执行,并回到命令行提示符下
q/quit/exit
退出调试和执行
2 断点设置命令
vb/vbreak seg:offset在虚拟地址上设置指令断点,其中seg和offset可以是以0x开始的十六进制数,或十进制,或者是以0开头的八进制数
lb/lbreak addr
在线性地址上设置断点,addr同上面的seg和offset
b/break/pb/pbreak addr
在物理地址上设置断点
info break
显示当前所有断点的信息
d/del/delete n
删除一个断点
3 内存操作指令
x /nuf addr检查位于线性地址addr处的内存内容
xp /nuf addr
检查位于物理地址addr处的内存内容
其中参数n、u、f分别表示:
n为要显示内存单元的计数值,默认为1
u表示单元大小,默认值为w
b(bytes) 1字节
h(halfwords) 2字节
w(words) 4字节
g(giantwords) 8字节
f为显示格式,默认为x
x(hex) 显示为十六进制数
d(decimal) 显示为十进制数
u(unsigned) 显示为无符号十进制数
o(octal) 显示为八进制数
t(binary) 显示为二进制数
c(char) 显示为对应的字符
4 信息显示和CPU寄存器操作命令
r/reg/regs/registers列表显示CPU寄存器及其内容
set $reg=val
修改某寄存器的内容。除段寄存器和标志寄存器以外的寄存器都可以修改,如set $eax=0x01234567
creg
列出所有的CR0-CR4寄存器
sreg
列出CPU全部状态信息,包括各个段选择子(cs,ds等)以及ldtr和gdtr等。
print-stack
打印堆栈情况。
info tab
显示页表
5 反汇编命令
u/disasm/disassemble start end,反汇编给定线性地址范围的指令。也可以是u /10 反汇编从当前地址开始的10条指令。6 参考
http://www.cnblogs.com/xmphoenix/p/3606182.html
0 0
- bochs调试命令总结
- Bochs 常用调试命令
- Bochs常用调试命令
- bochs调试命令
- Bochs调试相关命令
- Bochs调试命令
- bochs调试命令
- Bochs常用调试命令
- Bochs常用调试命令
- [Bochs]Bochs调试技术
- [Bochs]Bochs调试技术
- bochs 调试
- bochs 调试
- bochs 调试
- bochs调试
- bochs调试
- bochs调试
- 关于 bochs 和 bochs 调试
- 总结
- MFC 学习笔记
- 碰撞器
- 第17周项目3-胖子伤不起
- 简单的银行系统
- bochs调试命令总结
- HDU1016 Prime Ring Problem
- 编程第一天
- 系统管理员工具包: 充分利用 zsh
- temp
- vs2010那点事
- HDU 5023
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- 将一个二进制数里的1统计出来