Linux启动gdb调试模式



最近,在linux运行程序时,发现程序服务总是莫名其妙的终止,也无任何异常提示信息。觉得很奇怪,后来发现是没有启动debug模式,是用release运行的,所以看不出异常信息。 由于使用linux编译程序不多,所以不太清楚如何使用debug模式,再请教主程时,得到了一些方法启用debug模式,发现GDB功能的强大,足矣调试出你的程序崩溃原因。


由于linux环境的差异性,很多情况都千差万别的,要经过不多摸索与尝试才取得成功,同时又要善于总结,方能有效不断提高水平。


系统环境: CentOS release 5.8 (Final)
编译工具:gcc (GCC) 4.1.2 20080704


启动Debug:
   1.  首先在配置 .bash_profile 文件,在其里面添加配置项: ulimit -S -c unlimited > /dev/null 2>&1
   2. 在编译目录下 configure 文件,执行这个文件并带debug参数: ./configure --enable-debug yes  。如果不记得这个命令可以使用帮助命令:./configure --help
   3. 然后就可以使用gcc编译即可。(或则配置好的makefile文件后,直接make编译,make install 安装)
   4. 生成执行程序后并运行它,如果程序出现异常崩溃,就会产生一个 core.* 文件,此时利用命令: gdb binexec core.* ( gdb + 运行程序 + 生成的core.* 文件),就可以看到异常崩溃的断点了,而且比较详细。
   5. 如果想看堆栈信息,则使用 输入 “bt” 命令可以看出堆栈信息。

以上就是启动GDB的调试模式。


如果想生成release模式呢?
1. make clean
2. make -j3
(这种模式是你配置好makefile文件,然后make编译就行了)


文章可能不足,还请大神多多指教,同时希望对大家有用,大家相互学习与共享,共同进步^_^




你可能感兴趣的:(C,C++,linux,gdb,llinux,GDB调试,linux开发)