gdb 命令

GDB(GNU调试器)是一个强大的源代码级调试工具,它可以帮助你查找和修复程序中的错误。以下是一些常用的GDB命令:

  1. 启动GDB并加载指定的可执行文件
    gdb your_program
    ```

2. **启动程序的执行** (可以带参数)<b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

run arg1 arg2
```
  1. 在指定位置设置一个断点
    break main
    ```

或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>

b 25
```
  1. 从当前断点处继续执行程序
    continue
    ```

或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>

c
```
  1. 单步执行程序,进入函数内部
    step
    ```

或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>

s
```
  1. 单步执行程序,但不进入函数
    next
    ```

或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>

n
```
  1. 继续执行当前函数直到返回,并显示返回值
    finish
    ```

8. **打印指定表达式的值** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

print x
```
  1. 每次程序停止时自动显示指定表达式的值
    display x
    ```

10. **显示当前调用栈的信息** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

backtrace
```

    bt
    ```

11. **显示当前执行的源代码位置附近的代码行** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

list
```

    l
    ```

12. **设置观察点,当表达式的值发生变化时暂停程序** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

watch x
```
  1. 显示当前设置的所有断点的信息
    info breakpoints
    ```

14. **删除指定的断点** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:

delete 1
```
  1. 退出GDB
    quit
    ```

或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>

q
```

这些命令可以帮助你更有效地进行调试,找出程序中的错误并修复它们。建议你在实际使用中根据具体需求选择合适的命令。

Top