gdb(GNU DeBugger)是一个调试器,这对一个程序员是必不可少的,是GCC的标准组件之一。它是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。
gdb的功能非常强大,但如果把友好的图形化的界面作为衡量的主要标准之一,那么现阶段在Linux下的确缺少好的调试器。GDB 的全称是 GNU Debuger,是 linux 底下的一种免费的 debug 程序。虽然界面不像 SoftIce 那么好,但是功能也绝对强大。
要使用 gdb 那么首先在你 compile 程式的时候,要加上 -g 的选项。(可以用-g, -g2, -g3具体请看 man gcc)通常如果程序不会很大,在 compile 的时候我都是用 -g3 的,因为如果你用到了 inline 的 function,用 -g 去 compile 就无法去 debug inline function了。这时候就用到 -g2, -g3了,g后面的数字越大,也就是说可以 debug 的级别越高,最高级别就是 -g3。此外GDB也是个具有移携性的侦错器,经过移携需求的调修与重新编译,如今许多的类UNIX操作系统上都可以使用GDB,而现有GDB所能支持除错的编程语言有C、C++、Pascal以及FORTRAN。
GDB可以做四种主要的事情来帮助您捕获行为中的bug:
1,启动程序,指定可能影响其行为的任何内容。,
2,使程序在指定条件下停止。
3,检查程序停止时发生的情况。
4,更改程序中的内容,以便您可以尝试纠正一个错误的影响,并继续了解另一个错误。