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 会步入函数。