让程序崩溃时生成内核转储

在Linux下做开发,总是能有幸遇到“段错误”(segmentation fault),如果段错误发生在服务器端,而服务器端要继续工作,不允许调试,这时“内核转储”(core dump)就派上用场了,可以把生成的内核转储复制到本地进行调试。

具体方法如下:
首先,在服务器端运行“ulimit -c unlimited”;
然后程序在崩溃时,会在程序所在目录生成一个core文件,把这个文件拷到本地;
最后,在本地运行“gdb --core 生成core文件”,进入gdb之后输入“file 你的程序名”,之后就可以用bt/thread等命令查看当时的错误了,就像程序在本地执行到崩溃点一样。
 
本人只是知道点皮毛,够自己用而已,不当之处各位大牛莫见笑。

posted @ 2010-09-02 08:42  -仁者-  阅读(360)  评论(0编辑  收藏  举报