美文网首页
翻译:How to enable core dump in my

翻译:How to enable core dump in my

作者: 东东东东东东丶 | 来源:发表于2018-06-06 20:44 被阅读0次

Stack overflow地址:How to enable core dump in my Linux C++ program - Stack Overflow

翻译:

我的程序是C++写的。使用gcc编译期,带有 -g3 -O0 -ggdb的参数标识。当它崩溃时,我想要打开core dump。它是否创建core dump文件,或者我需要做一些什么来开启core dump让程序自己创建,或者在电脑上哪里执行什么?文件在哪里被创建并且叫什么名字呢?


Answers1:

你需要设置 ulimit -c。如果你这个参数的值为0的话,coredump文件就不会被创建。所以这么做:ulimit -c unlimited并且检查ulimit -a的所有值是否都正确。当程序遇到一些不正确的东西时会创建coredump文件。在我的系统上core文件的名字是 core.进程号。


Answers2:

你可以在你的程序里面这么做:

#include

// core dumps may be disallowed by parent of this process; change that

struct rlimit core_limits;

core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;

setrlimit(RLIMIT_CORE, &core_limits);


Answers3:

默认情况下,很多配置都是0 coredump的文件大小,因为普通用户不知道如果处理它们。

尝试使用 ulimit -c unlimited命令在运行你的程序之前。

相关文章

网友评论

      本文标题:翻译:How to enable core dump in my

      本文链接:https://www.haomeiwen.com/subject/xayisftx.html