以编程方式打开核心/崩溃转储

Mat*_*att 12 c linux

我知道我可以运行"ulimit -c unlimited"

在shell中打开当前用户的核心转储.我想知道的是如何从C编程?

我看到有一个ulimit调用,但它已被弃用,支持get/setrlimit.我想知道的是对setrlimit的等效调用是什么允许生成故障转储?

Mat*_*att 19

我找到了一个有效的解决方 现在正在创建核心文件.

struct rlimit core_limit;
core_limit.rlim_cur = RLIM_INFINITY;
core_limit.rlim_max = RLIM_INFINITY;

if (setrlimit(RLIMIT_CORE, &core_limit) < 0)
    fprintf(stderr, "setrlimit: %s\nWarning: core dumps may be truncated or non-existant\n", strerror(errno));
Run Code Online (Sandbox Code Playgroud)

信用证在这里:http://adamrosenfield.com/blog/2010/04/23/dumping-core/