core文件生成与设置

原创
2020/09/08 14:33
阅读数 249

命令设置

echo "/mnt/sd_card/%e.%p.%s.%t.core" > /proc/sys/kernel/core_pattern
ulimit -c unlimited

代码设置

void coredump_file_set(void)
{
   #define CORE_FILE_SIZE 1024*1024*450
   struct rlimit rlim;
   getrlimit(RLIMIT_CORE, &rlim);
   rlim.rlim_cur = rlim.rlim_max = CORE_FILE_SIZE;
   int ret = setrlimit(RLIMIT_CORE, &rlim);
   if(ret < 0){
       perror("setrlimit");
       return;
   }

   #define path  "/tmp/test.core"
   #define KERNEL_PATTERN_FILE  "/proc/sys/kernel/core_pattern"
   int core_pattern_fd = open(KERNEL_PATTERN_FILE, O_RDWR|O_NDELAY|O_TRUNC, 0666);
   if(core_pattern_fd < 0){
       perror("open");
       return;
   }

   ret = write(core_pattern_fd, path, strlen(path));
   if(ret < 0){
       perror("write");
   }
   close(core_pattern_fd);
}
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部