首页
社区
课程
招聘
[旧帖] gdb调试简单笔记 0.00雪花
发表于: 2014-7-11 21:39 1745

[旧帖] 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直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
gdb还是很好用的嘛
2014-7-13 19:17
0
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mark一下
2014-7-13 23:44
0
游客
登录 | 注册 方可回帖
返回
//