1、sysctl -w kernel.core_pattern=/home/corefiles/core.%h.%p.%e.%t >/dev/null
2、
int EnableCoredumpFile(bool enable)
{
struct rlimit rl;
int dumpable;
if (enable) {
dumpable = 1;
rl.rlim_cur = RLIM_INFINITY;
rl.rlim_max = RLIM_INFINITY;
} else {
dumpable = 0;
rl.rlim_cur = 0;
rl.rlim_max = 0;
}
if (prctl(PR_SET_DUMPABLE, dumpable) == -1) {
return -1;
}
if (setrlimit(RLIMIT_CORE, &rl) == -1) {
return -1;
}
return 0;
}
文章讲述了如何设置Linux系统使程序产生coredump文件,包括使用sysctl命令修改kernel.core_pattern来指定core文件路径,并通过intEnableCoredumpFile函数利用prctl和setrlimit函数控制进程是否允许生成coredump及限制其大小。
3386

被折叠的 条评论
为什么被折叠?



