1. GDB 相关概念
- GDB, The GNU Project Debugger, 是 Linux 下功能全面的调试工具。
- GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段
- GDB 主要用来调试 C 和 C++ 程序
2. GDB 的进入和退出
-
gcc 构建可执行程序时加上
-g参数$ gcc -g -obugging bugging.c -m32
-o 指定输出文件名, -m32 构建32位可执行程序
-
输入
gdb program进入 gdb$ gdb bugging
-
在 gdb 命令行界面,输入
run执行待调试程序(gdb) run
-
在 gdb 命令行界面,输入
quit退出 gdb(gdb) quit
3. GDB 命令行界面使用技巧
-
命令补全
任何时候都可以使用
TAB进行补全,如果只有一个待选选项则直接补全;否则会列出可选选项,继续键入命令,同时结合TAB即可 部分 gdb 常用命令一览表
| 命令 | 简写形式 | 说明 |
|---|---|---|
| list | l | 查看源码 |
| backtrace | bt、where | 打印函数栈信息 |
| next | n | 执行下一行 |
| step | s | 一次执行一行,遇到函数会进入 |
| finish | 运行到函数结束 | |
| continue | c | 继续运行 |
| break | b | 设置断点 |
| info breakpoints | 显示断点信息 | |
| delete | d | 删除断点 |
| p | 打印表达式的值 | |
| run | r | 启动程序 |
| until | u | 执行到指定行 |
| info | i | 显示信息 |
| help | h | 帮助信息 |
使用 (gdb) help command 可以查看命令的用法
-
执行 Shell 命令
(gdb) !shell 命令