gdb是一个功能相当强大的调试器,能在程序运行是观察程序的内部结构和内存堆栈的情况。
主要的功能:
1: 监视程序中的变量的值
2:设计程序的断点。
3:逐行执行代码。
注意:为了使gdb正常工作,用户必须使程序在编译时包含调试信息,调试信息包含程序里的每一个变量的类型和在可执行文件了的地址映射和源代码的行号。gdb利用这些信息使源代码和机器码相关联。
基本gdb命令:
命令 简写 功能以及说明
file 装入想要调试的可执行文件.
kill k 终止正在调试的程序.
list l 列出产生执行文件的源代码的一部分.
next n 执行一行源代码但不进入函数内部.
step s 执行一行源代码而且进入函数内部.
continue c 继续执行程序,直至下一中断或者程序结束。
run r 执行当前被调试的程序.
quit q 终止 gdb.
watch 使你能监视一个变量的值而不管它何时被改变.
catch 设置捕捉点.
thread t 查看当前运行程序的线程信息.
break b 在代码里设置断点, 这将使程序执行到这里时被挂起.
make 使你能不退出 gdb 就可以重新产生可执行文件.
shell 使你能不离开 gdb 就执行 UNIX shell 命令.
print p 打印数据内容。
examine x 打印内存内容。
backtrace bt 查看函数调用栈的所有信息。