What is gdb?
gdb
是 GNU Debugger
的缩写,用来调试程序,支持的语言有[1]:
- Ada
- C
- C++
- Objective-C
- Free Pascal
- Fortran
- Java
小试牛刀
写一个简单的小程序,然后用 gdb
调试一下。
编译:
为了方便 gdb
调试,窝们加一个 -g
参数。
不出问题的话应该会有一个 a.out
文件。
窝们用 gdb
调试它:
不出问题的话应该可以看到一个这样的界面:
(gdb)
就是 gdb
的提示符,类似 Unix
的 $
和 #
|
|
在 9 行中下一个断点,把程序跑起来:
不出问题的话程序应该断在了第9行,然后输入 233
,回车。
现在的话是断在第9(10)行了。窝们可以去看一下它的变量之类的操作:
返回结果:
还可以修改 i
的值:
想要退出 gdb
的话可以用 quit
命令。
Next 和 Step 指令
next
指令会步过,但是不会跟踪函数(步入),而 step
会步入函数。