-
-
[旧帖]
gdb调试简单笔记
0.00雪花
-
发表于:
2014-7-11 21:39
1745
-
0x1. 设置断点
break(简写为b)
格式:
b 函数名
b 行号
b 文件名:行号
b 文件名:函数名
b +偏移量
b -偏移量
b *地址
比如:b main
(gdb) b main
Breakpoint 1 at 0x80492b1
下好断过后,使用info break查看
(gdb) i b
Num Type Disp Enb Address What
1 breakpoint keep y 0x080492b1 <main+5>
0x2. 运行
Run(简写为r,start也可以),可以带参数,比如重定向到文件。
一般用法为先break下断,然后再r,这样就会断在下断处。
0x3. 显示变量
print 参数,比如p $pc,显示eip的值
0x4. 显示寄存器
info registers ,简写为i r
在寄存器之前加上$,即可显示各个寄存器的内容。比如p $eax
可以用x/10i $pc,显示从eip开始的10条指令
0x5. 单步执行
next(简写为n)
0x6. 继续执行
continue(简写为c)
0x7. 删除断点
delete(简写为d)
格式:
delete 编号
ox8. 需改变量的值
格式:
set variable <变量>=<表达式>
例如:要修改eip的值为0x800000
set variable $eip=0x800000
0x8. gdb jump
相当于会点的jmp
格式:
jump 函数名
jump 文件名:函数名
jump *内存地址
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课