后台运行生成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