最近,在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.* 文件,此时利用命