-
-
[分享]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直播授课