chap2 初识 GDB
2016-08-09 本文已影响23人
小虾米不爱吃虾
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 命令