Linux core文件的生成、大小、路径查看和设置_linux查看core文件路径-程序员宅基地

技术标签: core 文件  Linux基础  linux core文件  

1.设置core文件大小
1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。
2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文 件的时候,gdb会提示错误。
可以将ulimit -c unlimited写入到.bashrc中

2.设置core文件的名称和文件路径
默认生成路径:输入可执行文件运行命令的同一路径下
默认生成名字:默认命名为core。新的core文件会覆盖旧的core文件

a.设置pid作为文件扩展名
1:添加pid作为扩展名,生成的core文件名称为core.pid
0:不添加pid作为扩展名,生成的core文件名称为core
修改 /proc/sys/kernel/core_uses_pid 文件内容为: 1
修改文件命令: echo “1” > /proc/sys/kernel/core_uses_pid
或者
sysctl -w kernel.core_uses_pid=1 kernel.core_uses_pid = 1

b. 控制core文件保存位置和文件名格式
修改文件命令: echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
或者:
sysctl -w kernel.core_pattern=/corefile/core-%e-%p-%t kernel.core_pattern = /corefile/core-%e-%p-%t
可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
%p - insert pid into filename 添加pid(进程id)
%u - insert current uid into filename 添加当前uid(用户id)
%g - insert current gid into filename 添加当前gid(用户组id)
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加导致产生core的命令名

3.测试是否能生成core文件
kill -s SIGSEGV $$
查看/corefile目录下是否生成了core文件

4.调试core文件
Eg. test.c

#include<stdio.h>
int main()
{
int *p = NULL;
*p = 0;
return 0;
}

root@ubuntu:~# gcc -o test test.c
root@ubuntu:~# ./test
Segmentation fault (core dumped)
bingo:这里出现段错误并生成core文件了
在/corefile目录下发现core-test-31421-1476266571
开始调试
gdb ./test core-test-31421-1476266571
————————————————
版权声明:本文为CSDN博主「清风徐来_水波不兴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44660094/article/details/90763563

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaojun111111/article/details/119863451

智能推荐

Qt 图像处理(四)sobel算子与图像卷积_sobel算子和图像卷积-程序员宅基地

文章浏览阅读1.5k次。sobel算子与图像卷积图像卷积//图像的卷积运算/* * QImage *image 输入图像 * QImage &TemplateImg 输出图像 * int nTempH 模板的height = (nTempH -1)3x3的模板 * int nTempW 模..._sobel算子和图像卷积

为AsyncHttpClient设置Cookie-程序员宅基地

文章浏览阅读230次。使用AsyncHttpClient向服务端提交数据,有时需要带cookie。给AsyncHttpClient设置Cookie的方法如下:AsyncHttpClient myClient = new AsyncHttpClient();PersistentCookieStore myCookieStore = new PersistentCookieStore(this);Bas..._asynchttpclientutils 设置cookie

在Stm32CubeIDE环境下使用DAP-Link仿真_stm32cubeide daplink-程序员宅基地

文章浏览阅读1.9w次,点赞17次,收藏91次。一、文章bei'j最近师弟需要调STM32,由于他已经习惯了Eclipse的开发环境,所以给他推荐了Stm32CubeIDE,约等于TrueStudio+CubeMX,玩过一段时间,就推荐给了师弟_stm32cubeide daplink

rxjava+retrofit+mvp封装_rxjava+retrofit+mvp黑盒封装-程序员宅基地

文章浏览阅读752次。简介工作期间有空我就学习rxjava2的使用,现在结合mvp的架构给大家封装出一个开发框架,考虑到代码的重用性,数据接口的加密解密,我这里做出了可以商用的,不但是学习。框架代码下载本框架所用到包 compile 'com.android.support:design:25.3.1' compile 'com.android.support:cardview-v7:25.0.1'..._rxjava+retrofit+mvp黑盒封装

Vue设置了动态title,没生效或刷新失效_vue :title悬停不起作用-程序员宅基地

文章浏览阅读1.8k次。Vue设置了动态title,没生效或刷新失效的问题_vue :title悬停不起作用

nginx无网络启动失败——proxy_pass域名DNS解析出错-程序员宅基地

文章浏览阅读1k次。问题:nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败或者reload失败。我们是to B的产品,客户的环境可能是不通公网的,因此不能使用公网DNS服务,进而导致在ng启动的时候,对proxy_pass后紧跟域名的dns解析失败,最终导致nginx启动失败。解决方案:不直接在proxy_pass后写域名..._nginx没网络启动不了

随便推点

span 禁止选中_vue点击标签切换选中及互相排斥操作-程序员宅基地

文章浏览阅读410次。单身和已婚不能同时选中,不了解保险和已了解保险不能同时选中。同时各个标签点击可以取消选择//html与我相关v-for="(item, index) in myself":key="index"@click="checkButton('myself', item.id)":class="item.isFlag ? 'current' : ''">{{item.title}}标签v-for="..._jsp span不支持选中

计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了-程序员宅基地

文章浏览阅读3.4k次,点赞16次,收藏64次。TCP建链的⼤致过程如下:1)_计算机网络基础知识

二叉排序树(BST)_二叉排序树【bst】-程序员宅基地

文章浏览阅读344次。二叉排序树一、二叉排序树的介绍二、二叉排序树创建和遍历一、二叉排序树的介绍BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。下图就是一颗二叉排序树:如果有相同的值,将该节点放在左子节点或右子节点都可以二、二叉排序树创建和遍历数组Array(7, 3, 10, 12, 5, 1, 9) 创建成对应的二叉排序树,并使用中序遍历二叉排序树代码实现:package binaryS_二叉排序树【bst】

联想Y7000P 2019装Ubuntu双系统遇到的问题_拯救者y7000安装ubuntu出现acpi bios error:-程序员宅基地

文章浏览阅读2.9k次。联想Y7000P 2019装Ubuntu双系统遇到的问题(仅供参考,请通篇阅读完以后,再考虑是否使用本教程)首先电脑买回来有自带的Windows系统,然后装Ubuntu19.04双系统,之所以选择19而不是18是因为听同学说ubuntu18系统有无线网卡不能用,还得修改文件的问题,然而19也遇到了,不过这个后面会介绍到。一 制作装有Ubuntu19.04的U盘1.Ubuntu19.04可以从..._拯救者y7000安装ubuntu出现acpi bios error:

php插件 pycharm_pycharm 安装插件-程序员宅基地

文章浏览阅读412次。打开file——settings——plugings,在右侧的文本框中输入想要查看的插件名称,在下方就会罗列出已安装的相关的插件:1.英语翻译.可以看源码注释2.statisticstatistic是一个项目统计插件,简单来说就是可以给出一个项目的统计信息,包括文件和代码量等,关于统计信的具体内容一会再讲,先来看下Statistic的使用方法。在Pycharm的左下角增加一个Statistic选项..._pycharm php

R7-1 数据结构实验之链表一:顺序建立链表 (20 分)_r7-1 栈的基本操作输入第1行为1个正整数n,表示操作个数; 第2行为给出的n个整数,非-程序员宅基地

文章浏览阅读523次。输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。输入格式:第一行输入整数的个数N(1 <= N <= 100000)。第二行依次输入每个整数。输出格式:输出这组整数。输入样例:812 56 4 6 55 15 33 62输出样例:12 56 4 6 55 15 33 62#include<stdio.h>#include <stdlib.h>struct node{..._r7-1 栈的基本操作输入第1行为1个正整数n,表示操作个数; 第2行为给出的n个整数,非