原文链接
- http://www.unknownroad.com/rtfm/gdbtut/gdbuse.html
1. 如何使用 gdb?
想要使用 gdb 工具进行调试,编译代码时必须开启 debugger 模式。为了开启 debugger 模式编译的时候要带上参数-g1.1 编译时开启 debug 模式
以编译 c 语言为例
NOTE: If you have a larger program with several files, each must be compiled with the -g flag, and it must also be set when you link.prompt > gcc -g program.c -o programname
当程序很大时,必须每个文件都用-g编译。1.2 在 debug 模式下运行程序
这个命令就会进入到 gdb 的shell。prompt> gdb programname(编译出来的可以执行文件名)
run命令可以开始执行程序,run 命令也可以接受参数。
(gdb) run arg1 "arg2" ...
1.3 如何重启程序
使用 kill 命令杀掉程序后,就可以再使用 run 重启程序。
(gdb) killKill the program being debugged? (y or n) y(gdb) run ..
1.4 如何退出 gdb 的debug模式?
使用 quit 命令。
(gdb) quitThe program is running. Exit anyway? (y or n) yprompt >
1.5 查看 gdb 的帮助命令
(gdb) help
显示出来的都是一级命令,go 和这个比较像:
- aliaes, 其他命令的别名
- breakpoints,设置断点
- data,检查数据
- files,指定并检查文件
- internals(内部的),内部命令
- obscure (无名的), 隐式命令
- running,运行程序
- stack, 栈
- status,状态查询
- support,支持的设备
- tracepoints, 追踪程序执行不停止程序
- user-define,自定义命令。
使用 help 一级命令 获取对应的命令帮助详情;
使用 help all 获取所有命令。
使用 apropos [word] 来对 [word] 相关的命令进行模糊搜索。
