首页
社区
课程
招聘
[分享]bochs常用指令
发表于: 2020-3-14 01:15 3041

[分享]bochs常用指令

2020-3-14 01:15
3041

Ctrl+C 中断



断点:
b addr 在物理地址addr设置断点
lb addr 在线性地址addr设置断点
vb addr 在虚拟地址addr设置断点
blist 显示当前已设置的断点
bpd|bpe bn 禁用/启用断点号为bn的断点
d/del bn 删除断点号为bn的断点



读写断点:
watch read addr 设置读断点
watch write addr 设置写断点
unwatch read addr 删除读断点
unwatch write addr 删除写断点
unwatch 删除所有读写断点
watch 显示现有读写断点



执行:
c 继续执行,直到遇到断点
s 单步执行
s num 执行num条指令
n 单步执行,跳过子程序和int中断程序



显示地址内容:
x /nuf [addr] 显示线性地址addr的内容
xp /nuf [addr] 显示物理地址addr的内容
nuf指定显示长度和显示格式:
n 显示的单元数
u 每个显示单元的大小,可以是下列之一:
b BYTE
h WORD
w DWORD
g DWORD64
f 显示格式,可以是下列之一:
x 十六进制显示
d 十进制显示
u 无符号十进制显示
o 八进制显示
t 二进制显示
c 字符显示



反汇编:
u 反汇编当前指令
u /5 反汇编5条指令
u start end 反汇编start到end的指令



寄存器:
r 查看通用寄存器
sreg 查看段寄存器(es,cs,gs,ss,fs,ds以及idt,gdt,ldt,tr)
creg 查看控制寄存器(cr0,cr1,cr2,cr3)
dreg 查看调试寄存器(dr0-dr7)
set rip=0x7c00 设置rip为0x7c00



info显示信息:
info program 显示程序执行的情况
info registers|reg|r 显示寄存器的信息
info pb|pbreak|b|break 相当于blist
info dirty 显示脏页的页地址
info cpu 显示所有CPU寄存器的值
info fpu 显示所有FPU寄存器的值
info idt 显示IDT
info gdt [num] 显示GDT
info ldt 显示LDT
info tss 显示TSS
info pic 显示PIC
info ivt [num] [num] 显示IVT
info flags 显示状态寄存器
info cr 显示CR系列寄存器
info symbols 显示symbol信息
info ne2k|ne2000 显示虚拟的ne2k网卡信息



调试指令记录:
record ["filename"] 将输入的调试指令记录到文件中。文件名必须包含引号
playback ["filename"] 回放record的记录文件。文件名必须包含引号



显示堆栈:
print-stack [num] 显示堆栈,num默认为16,表示打印的条数



其他指令:
ptime 显示Bochs自本次运行以来执行的指令条数


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 4094
活跃值: (4039)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
记录在看雪主要是为了以后方便查看,也欢迎大家来补充
2020-3-14 11:06
0
游客
登录 | 注册 方可回帖
返回
//