69、GDB的基本用法
时间: 2024-09-28 11:09:26 浏览: 34
`GDB` (GNU Debugger) 是一款强大的开源调试器,用于单步执行、设置断点、检查内存状态、跟踪调用栈等,主要用于C/C++程序的调试。以下是一些基本的 `GDB` 使用步骤和命令:
1. **启动GDB**:打开终端,然后运行 `gdb` 加上要调试的可执行文件名,例如:
```
gdb my_program
```
2. **设置断点**:在源代码中的特定行号前设置断点,使用 `break` 命令后跟行号或函数名,如:
```shell
break function_name
break line_number
```
3. **启动程序**:使用 `run` 或 `r` 命令启动程序,如果设置了断点,它会在第一个断点处暂停。
4. **单步执行**:`step` 进入下一行,`next` 执行当前行并进入下一行(如果是函数内部)。
- `stepi` 单步指令执行。
- `nexti` 类似于 `next`,但只针对指令级别。
5. **查看变量值**:使用 `print` 或 `p` 显示变量值,如:
```shell
print variable_name
p variable_type variable_name
```
6. **检查内存**:`x` 命令用于查看内存中的数据,例如:
```shell
x/10i $pc // 查看十条指令的内容
x/10d variable // 查看变量的十六进制和十进制表示
```
7. **查看调用堆栈**:`backtrace` 或 `bt` 可以显示函数调用栈。
```shell
bt
```
8. **继续执行**:当你想从当前位置继续执行直到下一个断点时,可以使用 `continue` 命令。
```shell
continue
```
9. **退出GDB**:完成调试后,使用 `quit` 或 `q` 结束调试进程。
阅读全文