后台运行生成core文件
这个是我们上一篇文章分享一种你可能不知道的bug定位方法介绍的,方便大家使用,也汇总在这里。
代码:
左右滑动查看全部代码>>>
// 微信公众号:嵌入式大杂烩
#include 
#include 
#include 
#include 
#define SHELL_CMD_CONF_CORE_FILE    "echo /var/core-%e-%p-%t > /proc/sys/kernel/core_pattern"
#define SHELL_CMD_DEL_CORE_FILE     "rm -f /var/core*"
static int enable_core_dump(void)
{
    int ret = -1;
    int resource = RLIMIT_CORE;
    struct rlimit rlim;
    rlim.rlim_cur = 1 ? RLIM_INFINITY : 0;
    rlim.rlim_max = 1 ? RLIM_INFINITY : 0;
    system(SHELL_CMD_DEL_CORE_FILE);
    if (0 != setrlimit(resource, &rlim))
    {
        printf("setrlimit error!
");
        return -1;
    }
    else
    {
        system(SHELL_CMD_CONF_CORE_FILE);
        printf("SHELL_CMD_CONF_CORE_FILE
");
        return 0;
    }
    return ret;
}
int main(int argc, char **argv)
{
    enable_core_dump();
    printf("==================segmentation fault test==================
");
    int *p = NULL;
    *p = 1234;
    return 0;
}
    以上就是本次分享的几个小的代码片段。
期待你的三连支持!
原文作者:杂烩君
作品来源:嵌入式大杂烩
来源链接:https://mp.weixin.qq.com/s/_YIlvFdVYPLAUkyGsn3u3g

