GDB是什么
GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下:
GDB主要帮忙你完成下面四个方面的功能:
1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3.当程序被停住时,可以检查此时你的程序中所发生的事。
4.动态的改变你程序的执行环境。
GDB常用命令
1. 获取调试信息
用GCC编译程序时,需要gdb调试代码的话,记得加 -g 选项,如果不加的话,使用任何命令都是提示“没有符号表被读取。请使用 “file” 命令”
gcc -g example.c -o example
g++ -g example.c -o example
2. 运行调试
下面三个博文写得非常详细,参照以下三个网址
- 陈皓专栏 用GDB调试程序(一)~(七)http://blog.csdn.net/haoel/article/category/9197
- gdb 跟踪调试命令整理 http://www.cnblogs.com/kzloser/archive/2012/09/21/2697185.html
- GDB详解 http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2288004.html
3. gdb显示数组
查看数组变量值,格式为 p *array@len,比如说这个数组int a[] = {1, 2, 3, 4, 5};
p *a@5
也可以用display命令设置为自动显示
display *a@5