GDB使用指南

作者: 浅草墨蚂 | 来源:发表于2019-05-23 23:18 被阅读65次

gdb是linux下的一款动态调试工具,以下是使用gdb调试程序常用到的命令,我尽量以图文的方式进行讲解,希望对初学者有所帮助。

1.执行程序

首先当然是得让程序运行起来

(1)加载文件 gdb path/file
1558622988(1).png

注:后面介绍的命令均在文件加载后使用

(2)start

启动程序,并在程序第一句话处停下

(3)r

run 启动并执行程序,直到遇到断点或等待输入

(4)c

continue 继续执行程序

2.查看内存情况

(1)x/FMT
该命令功能非常强大,支持多种格式显示内存的信息
例:查看10个word长度内存以16进制显示 x/10wx 地址
查看10个字节内存以指令显示 x/10i 地址
格式的参数非常多,还好gdb有help的功能,可通过help x/ 可清楚的查看到使用方法(对于像我这种懒人,是从不记的,每次都通过help x/ 去找合适的格式命令)


1558622109(1).png
1558624088(1).png

(2)其他查看信息的命令
disas 查看汇编代码
searchmem 搜索内存
vmmap 列出内存状态
info functions  --查看函数
info b      --查看断点
i r       --查看寄存器状态

p 查看一个值
p printf  --查看printf函数
p 0x地址  --查看一个地址内存
p myname --查看一个变量

3.断点设置

help breakpoints


1558622155(1).png

常用的命令
(1)设置断点
 b *0x地址
 b 函数名
 b *函数名+偏移
(2)删除断点
 delete breakpoints 标号

4.开始调试

n  next
单步执行指令,不进入调用函数内部执行
s  step
遇到函数,步入函数内部继续执行
finish --执行到返回

watch  --设置监视,如果改变则断下
例:
watch *0x地址
watch $epb
set   --改变某值
例:
set a=10
set *0x地址='AAAA'
set &eax=0

通过以上常用命令的介绍,希望能起到抛砖引玉的作用,想熟练掌握GDB的使用,还是需要大家多使用help命令,多练习,多研究。

相关文章

  • GDB使用指南

    gdb是linux下的一款动态调试工具,以下是使用gdb调试程序常用到的命令,我尽量以图文的方式进行讲解,希望对初...

  • gdb调试

    gdb安装 安装gdb 在钥匙管理器中新建证书 配置gdb证书 添加gdb初始化文件 .gdbinit gdb 命...

  • Debugging with GDB

    Debugging with GDB GDB@wiki(GNU Debugger)GDB is a portabl...

  • GDB 配置

    摘要:调试器 GDB 的配置 GDB 配置 使用 GDB 扩展来配置 GDB 事实上我还是觉得原生的 GDB 就...

  • 2. gdb的使用

    参考链接1. GDB调试2. gdb调试方法3. gdb调试示例 1. 说说 gdb gdb 是一款 UNIX 系...

  • GDB调试记录

    gdb attach 15343 # 调试某个进程 GNU gdb (GDB) 7.12Copyrigh...

  • gdb 调试

    gdb-入门 100-gdb-tips

  • gdb调试

    使用gdb:编译的时候加 -g 参数 启动gdb:gdb app(对应的可执行程序名) 在gdb启动后:r(un)...

  • 各种linux命令(pwn)

    (gdb)bt //查看函数堆栈 (gdb)info break ...

  • GDB TO LLDB COMMAND MAP

    GDB TO LLDB COMMAND MAP Below is a table of GDB commands ...

网友评论

    本文标题:GDB使用指南

    本文链接:https://www.haomeiwen.com/subject/zcvizqtx.html