1.生成core文件的设置
首先,linux下默认不生成core文件。
使用使用ulimit -c
命令可查看core文件的生成开关,如果为0则表示关闭此功能。
使用ulimit -c filesize
命令,可以限制core文件的大小(filesize的单位为kbyte)。
使用ulimit -c unlimited
,则表示core文件的大小不受限制。
有以下三种方法可以生成core文件:
1.永久生成core问件。将ulimit -c unlimited
写进系统配置里,即在/etc/profile
里面加上上述命令,这样重启后生效了。或者使用source命令使之马上生效。source /etc/profile
2.只在当前终端里打开。cd到程序目录,输入ulimit -c unlimited
,然后进行编译,也可以生成生成core文件。
3.在程序里使用setrlimit
函数设置生成core文件。包含#include<sys/resource.h>
,然后在程序里加上如下代码也可以生成core文件。
struct rlimit limit;
limit.rlim_cur = RLIM_INFINITY;
limit.rlim_max = RLIM_INFINITY;
if<