我们在编写程序,特别是大型程序的时候,如果某一个地方出现了一些小的bug,如果通过自己一行一行的排查显然不切实际。这时候我们就得求助于强大的调试工具。调试工具有很多种,比如DDD,Eclipse以及GDB,这里我们着重介绍下GDB的使用注意事项。
绝大部分linux系统中都应该安装了gdb,如果没有的话可以使用指令$sudo apt-get install gcc先安装gcc。
假设我们要对pthread.c这个程序进行debuge,那么我们首先需要使用gcc工具对.c文件进行比编译,链接等操作生成可执行文件pthread。然后使用gdb工具对pthread进行调试。列入:
#gcc pthread.c -o pthread
#gdb pthread
(gdb)
出现(gdb)之后表示进入了调试阶段,这时候你可以使用很多gdb下的专用指令,比如:run,b(break), c(continue),n(next),s(step),print,condition,clear等等指令实现对程序进行调试的过程。
注意:为了方便直观的使用程式图进行调试过程,这里我们在编译.c文件以及使用gdb打开可执行文件的时候,需要注意加上这些指令,就可以进入到程式图的调试界面,方便又直观。
#gcc -g pthread.c -o pthread (如果程序里带有sqrt运算以及线程操作,最后记得在-o和可执行程序之间加上-lm和-lpthread)
#gdb pthread -tui
这样的话,就会有直观的程式图出现,更加方便调试过程的展开。