GDB(GNU调试器)是一个强大的源代码级调试工具,它可以帮助你查找和修复程序中的错误。以下是一些常用的GDB命令:
- 启动GDB并加载指定的可执行文件 :
gdb your_program
```
2. **启动程序的执行** (可以带参数)<b class="card40_249__sup_a7f6" data-sup="sup">1</b>:
run arg1 arg2
```
- 在指定位置设置一个断点 :
break main
```
或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>
b 25
```
- 从当前断点处继续执行程序 :
continue
```
或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>
c
```
- 单步执行程序,进入函数内部 :
step
```
或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>
s
```
- 单步执行程序,但不进入函数 :
next
```
或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>
n
```
- 继续执行当前函数直到返回,并显示返回值 :
finish
```
8. **打印指定表达式的值** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:
print x
```
- 每次程序停止时自动显示指定表达式的值 :
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
```
- 显示当前设置的所有断点的信息 :
info breakpoints
```
14. **删除指定的断点** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:
delete 1
```
- 退出GDB :
quit
```
或<b class="card40_249__sup_a7f6" data-sup="sup">1</b>
q
```
这些命令可以帮助你更有效地进行调试,找出程序中的错误并修复它们。建议你在实际使用中根据具体需求选择合适的命令。