GDB#
基本使用#
gdb --args myprogram arg1 arg2
断点与执行控制#
命令 |
描述 |
示例 |
---|---|---|
|
设置函数断点 |
|
|
在指定文件的指定行设置断点 |
|
|
在内存地址设置断点 |
|
|
查看所有断点 |
|
|
删除断点 |
|
|
设置条件断点 |
|
|
启动程序 |
|
|
继续执行 |
|
|
单步进入函数 |
|
|
单步跳过函数 |
|
|
单步执行指令(进入函数) |
|
|
单步执行指令(跳过函数) |
|
|
执行到当前函数返回 |
|
|
终止当前调试会话 |
|
调用栈与上下文#
命令 |
描述 |
示例 |
---|---|---|
|
打印调用栈 |
|
|
切换栈帧 |
|
|
查看当前帧信息 |
|
|
查看当前帧参数 |
|
|
查看当前帧局部变量 |
|
变量与内存查看#
命令 |
描述 |
示例 |
---|---|---|
|
打印表达式值 |
|
|
十六进制格式打印 |
|
|
检查内存 |
|
|
设置数据观察点 |
|
|
查看观察点 |
|
|
每次暂停时自动打印 |
|
|
查看自动显示表达式 |
|
|
结构体/类按缩进格式显示 |
|
|
数组显示时每元素单独一行 |
|
|
遇到 NULL 时停止打印字符串 |
|
寄存器与汇编#
命令 |
描述 |
示例 |
---|---|---|
|
查看寄存器值 |
|
|
反汇编函数 |
|
|
修改寄存器值 |
|
TUI 模式#
命令 |
描述 |
示例 |
---|---|---|
|
启用 TUI 模式 |
|
|
显示源代码窗口 |
|
|
显示汇编窗口 |
|
|
显示源码和汇编 |
|
|
显示寄存器窗口 |
|
|
退出 TUI 模式 |
|
其他实用命令#
命令 |
描述 |
---|---|
|
执行 shell 命令 |
|
开启日志记录 |
|
显示历史命令 |
|
退出 GDB |