美文网首页
翻译: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