GDB调试器及调试方法
1.GDB使用
程序要能被调试,必须包含调试信息
编译程序时,通过gcc-g选项为程序添加调试信息,例如:
gcc -g -o helloworld helloworld.c
(1)安装gdb
$ sudo apt-get install gdb
(2)启动gdb
gdb [program name]
(3)gdb的命令
命令 | 结果 |
---|---|
file | 装入想要调试的可执行文件 |
kill | 终止正在调试的程序 |
list | 列出产生执行文件的源代码的一部分 |
next | 执行一行源代码但不进入函数内部 |
step | 执行一行源代码而且进入函数内部 |
run | 执行当前被调试的程序 |
c | 继续运行程序 |
quit | 终止gdb |
watch | 使你能监视一个变量的值而不管它何时被改变 |
backtrace | 栈跟踪,查出代码被谁调用 |
查看变量的值 | |
make | 使你能不退出gdb就可以重新产生可执行文件 |
shell | 使你能不离开gdb就执行UNIX shell命令 |
whatis | 显示变量或函数类型 |
break | 在代码里设断点,这将使程序执行到这里时被挂起 |
info break | 显示当前断点清单,包括到达断点处的次数等 |
info files | 显示被调试文件的详细信息 |
info func | 显示所有的函数名称 |
info local | 显示当函数中的局部变量信息 |
info prog | 显示被调试程序的执行状态 |
delete [n] | 删除第n个断点 |
disable[n] | 关闭第n个断点 |
enable[n] | 开启第n个断点 |