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

智能推荐

基于MThings配置MODBUS协议数据的字节序和字序_modbus字节序hl-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏8次。通信调试中,字节序是个常见概念,比如本地字节序、网络字节序。字节存储机制又分两种:大端(Big-Endian)和小端(Little-Endian)。MODBUS协议中同时存在字序概念,存储机制同字节序。不同的是,MODBUS数据帧中对关键字段(寄存器地址)都定义为大端字节序,但是数据部分在不同厂家的定义方式可能不同,甚至同一厂家某一型号设备中,对不同数据的字节序定义也不统一。基于MODBUS报文的字节排序,大端字节序即数据高字节在前,低字节在后,小端字节序相反。例如:01 03 04 1_modbus字节序hl

文件描述符fd和文件指针File* fp的区别和转换_c语言file*fp是什么意思-程序员宅基地

文章浏览阅读3k次,点赞3次,收藏14次。在linux系统中把设备和普通文件也都看做是文件,要对文件进行操作就必须先打开文件,打开文件后会得到一个文件描述符,它是一个很小的正整数,是一个索引值。 内核会为每一个运行中的进程在进程控制块pcb中维护一个打开文件的记录表,每一个表项都有一个指针指向打开的文件,上边的索引值是记录表的索引值。 文件描述符的优点:兼容POSIX标准,许多系统调用都依赖于它;缺点是不能移植到unix之外的系统上..._c语言file*fp是什么意思

office2020与2016版的不同_office2019和2016区别哪个好-程序员宅基地

文章浏览阅读4.2k次。在办公中使用合适的工作软件能够大大提高我们的工作效率,那么最热门的office2016与2019的到底应该选择哪一个呢,让我们来看看他们的区别之处吧!office2016与2019的区别详细说明office2016一、对于普通人来说,家庭版和学生版应该是最显眼的。一般来说,新一代Windows台式机和笔记本电脑大多也预装了此版本的Office,购买机器后可以免费使用。二、但是,此版本也是最小版本,..._vsio2016与2019哪个好用

Bit Twiddling Hacks-程序员宅基地

文章浏览阅读5.4k次。前段转自 http://blog.sina.com.cn/s/articlelist_1249713681_14_1.html作者:很拽的土豆Bit Twiddling HacksBy Sean Eron [email protected], the code snippets here are in the public d_bit twiddling hacks

基于Hadoop集群实现wordcount案例_云服务器hadoop上运行wordcount-程序员宅基地

文章浏览阅读2k次。之前是在linux云服务器上的hadoop本地模式实现了wordcount案例:linux云服务器实现wordcount案例这次改用hadoop的集群模式实现此案例。首先需要确保已完成了Pseudo-Distributed Operation伪分布式搭建,如果没有完成,可参考linux云服务器实现hadoop的Pseudo-Distributed Operation伪分布式搭建搭建完成,并执行sbin/start-dfs.sh后,通过jps命令可查看已存在如下进程31254 DataNode3_云服务器hadoop上运行wordcount

Docker 安装Hadoop HDFS命令行操作-程序员宅基地

文章浏览阅读92次。网上拉取Docker模板,使用singlarities/hadoop镜像[root@localhost /]# docker pull singularities/hadoop查看:[root@localhost /]# docker image lsREPOSITORY TAG IMAGE I..._docker启动hdfs命令行

随便推点

QAC/QAC++静态软件代码测试分析-试用工具_qac的 生成的报告如何解读-程序员宅基地

文章浏览阅读2.4k次。原PRQA静态测试软件产品线(包括QAC、 QAC++、QA-Verify等),统一更名为“Helix QAC”,PRQA的代码静态分析工具能够帮助企业开发团队提高代码的质量和安全,缩短软件开发所需的时间,HelixQAC是作为其主打产品目前已广泛应用于汽车、航空航天、电子商务、医疗器械、生产和通信等领域。HelixQAC:HelixQAC是静态代码分析工具,依据C和C++编码规则自动扫描代码对规则的违背。开发团队在开发过程的早期就可以用它来检测缺陷,因为此时修改代码是最方便也最经济的。Helix QA_qac的 生成的报告如何解读

python 爬阳光高考高校数据_爬取阳光高考-程序员宅基地

文章浏览阅读2.2k次。import jsonimport timefrom requests_html import HTMLSession# 判断是否是数字def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return._爬取阳光高考

使用Google翻译实现网站国际化——js插件_谷歌翻译js插件 select替换成div-程序员宅基地

文章浏览阅读1.1k次。版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/wokuailewozihao/article/details/82021709-------------------------------------------------------------------------------..._谷歌翻译js插件 select替换成div

GO项目实战 — Gorm格式化时间字段_gorm time-程序员宅基地

文章浏览阅读4.2k次。在使用 查询时,如果未对时间字段进行处理,结构体内的字段类型咱们使用的是 :这里咱们使用 类型在 进行查询的返回结果,读取到的时间字段往往是这样:“”,带着时区和毫秒。但其实往往这样的格式,不是咱们想要的。如果想要 “” 这样的格式,需要怎么处理呢?当插入一条数据到对应的表中时, 字段是不赋值的,插入到数据库则会 ,系统赋了⼀个默认值,当不想插⼊时如何处理?读取到的时间需要是:“2022-07-03 22:14:02” 这样的格式当时间字段不赋值时,不插入默认值虽然该数据类型实际类型为 ,但是不_gorm time

Flask-WTF的CSRF保护详解_flask-wtf csrf-程序员宅基地

文章浏览阅读3.4k次。CSRF 保护这部分文档介绍了 CSRF 保护。为什么需要 CSRF?Flask-WTF 表单保护你免受 CSRF 威胁,你不需要有任何担心。尽管如此,如果你有不包含表单的视图,那么它们仍需要保护。例如,由 AJAX 发送的 POST 请求,然而它背后并没有表单。在 Flask-WTF 0.9.0 以前的版本你无法获得 CSRF 令牌。这是为什么我们要实现 CSRF。实现为..._flask-wtf csrf

给.sh文件添加执行权限linux_如何加权限sh: --config-file-程序员宅基地

文章浏览阅读5k次。chmod是权限管理命令change the permissions mode of a file的缩写。。u代表所有者,x代表执行权限。 + 表示增加权限。chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限。_如何加权限sh: --config-file

推荐文章

热门文章

相关标签