| 命令 | 简写 | 功能说明 | 示例 |
|---|---|---|---|
| gdb <program> | - | 启动GDB并加载指定的可执行文件进行调试 | gdb ./my_program |
| gdb <program> core | - | 调试程序及其产生的core dump文件,用于事后分析崩溃原因 | gdb ./my_program core |
| gdb -p <PID> | - | 附加到一个正在运行的进程进行调试(需有权限) | gdb -p 1234 |
| quit | q | 退出GDB调试环境 | (gdb) q |
| kill | - | 终止当前正在调试的程序 | (gdb) kill |
| 命令 | 简写 | 功能说明 | 示例 |
|---|---|---|---|
| run | r | 开始运行程序,若设了断点则停在该处 | (gdb) r |
| run <args> | r | 运行程序并传递命令行参数 | (gdb) r -l -a |
| continue | c | 继续执行程序,直到下一个断点或程序结束 | (gdb) c |
| next | n | 单步执行(跳过):执行下一行代码,不进入函数内部 | (gdb) n |
| step | s | 单步执行(进入):执行下一行代码,若遇到函数则进入 | (gdb) s |
| finish | - | 继续执行直到当前函数结束,然后暂停 | (gdb) finish |
| until | u | 执行到指定行,常用于跳出循环 | (gdb) u 25 |
| return | - | 立即从当前函数返回,可指定返回值 | (gdb) return 0 |
| 命令 | 简写 | 功能说明 | 示例 |
|---|---|---|---|
| break | b | 设置断点,可按行号、函数名设置 | (gdb) b main (gdb) b 15 |
| break ... if cond | b | 设置条件断点,仅当条件满足时才暂停 | (gdb) b 20 if x > 5 |
| tbreak | - | 设置临时断点,触发一次后自动删除 | (gdb) tbreak main |
| watch | - | 设置监视点,当变量值被改变时程序暂停 | (gdb) watch var |
| info breakpoints | i b | 查看所有断点和监视点的信息 | (gdb) i b |
| delete | d | 删除所有或指定编号的断点 | (gdb) d 2 (删除2号断点) |
| disable | - | 禁用指定编号的断点(不删除) | (gdb) disable 1 |
| enable | - | 启用已被禁用的断点 | (gdb) enable 1 |
| clear | - | 清除当前位置或指定位置的断点 | (gdb) clear main |
| 命令 | 简写 | 功能说明 | 示例 |
|---|---|---|---|
| list | l | 显示源代码,便于定位 | (gdb) l 20 |
| p | 打印变量或表达式的值 | (gdb) p var (gdb) p *ptr |
|
| print /x | p/x | 以十六进制格式打印数值 | (gdb) p/x var |
| display | - | 自动显示变量,每次程序暂停时都会输出其值 | (gdb) display var |
| undisplay | - | 取消对变量(按display编号)的自动显示 | (gdb) undisplay 1 |
| whatis | - | 显示变量或函数的类型 | (gdb) whatis var |
| ptype | - | 显示更详细的类型信息(如结构体定义) | (gdb) ptype MyStruct |
| set variable | - | 修改程序中变量的值 | (gdb) set var x = 10 |
| 命令 | 简写 | 功能说明 | 示例 |
|---|---|---|---|
| backtrace | bt | 查看当前函数的调用栈(调用历史) | (gdb) bt |
| frame | f | 切换到调用栈中的指定帧,以查看该层局部变量 | (gdb) f 1 |
| info locals | i locals | 显示当前栈帧中所有局部变量的值 | (gdb) i locals |
| info registers | i r | 显示CPU寄存器的当前值 | (gdb) i r |
| disassemble | - | 查看当前函数或指定函数的汇编代码 | (gdb) disassemble main |
| x | - | 按指定格式查看内存中的内容 | (gdb) x/10xw 0xAddress |