文章目录
-
GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。
-
一般来说,GDB主要帮助你完成下面四个方面的功能:
- 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序(按着自己的想法运行)
- 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
- 3、当程序被停住时,可以检查此时你的程序中所发生的事
- 4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG
-
GDB支持以下编程语言 Ada、Assembly、C、C++、D、Fortran、Go、Objective-C、OpenCL、Modula-2、Pascal、Rust
GDB基本命令
启动与退出
| 命令 | 说明 |
|---|---|
gdb <program> |
启动GDB并加载可执行程序 |
gdb <program> <core> |
使用GDB调试core dump文件 |
gdb -p <pid> |
附加到正在运行的进程 |
quit或 q |
退出GDB |
run 或 r |
运行程序 |
run <arg1> <arg2> ... |
带参数运行程序 |
断点管理

执行控制

查看与监视

程序状态信息

调试程序
普通调式
bash
# 编译带调试信息的程序
gcc -g -o test test.c
# 启动GDB
gdb ./test
# 在GDB中:
(gdb) break main
(gdb) run
(gdb) next
(gdb) print variable
(gdb) watch variable
(gdb) continue
(gdb) backtrace
(gdb) quit
调试core文件
- 同时指定一个可执行程序和一个核心文件来启动:gdb program core

调试正在运行的进程
- 可以指定一个进程ID作为第二个参数,或者使用选项"-p"
- gdb program 1234
- gdb -p 1234
