GDB介绍
gdb是UNIX及UNIX-like下的调试工具。该工具能启动程序,可让被调试的程序在所指定的调置的断点处停住(断点可以是条件表达式),当程序被停住时,可以检查此时程序中所发生的事,还可以改变程序,将一个BUG产生的影响修正从而测试其他BUG。
一般来说,GDB主要帮助你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。
LIST
file 装入想要调试的可执行文件。 kill 终止正在调试的程序。 list 列出产生执行文件的源代码的一部分。 next
执行一行源代码但不进入函数内部。 step 执行一行源代码而且进入函数内部。 run 执行当前被调试的程序。c 继续运行程序。 quit
终止gdb。 watch 使你能监视一个变量的值而不管它何时被改变。 backtrace 栈跟踪,查出代码被谁调用。 print
查看变量的值。 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个断点。 ptype 显示结构定义。 set variable
设置变量的值。