GDB 调试coredump及 不生成core文件_coredump 不生成-程序员宅基地

技术标签: 运维  linux  centos  


linux下不产生core文件的原因_Small-K的博客-程序员宅基地_没有生成core文件

不产生core文件的原因
最近在用gdb调试时,故意让一个进程core dump,但是却没有产生core文件,解决过程如下:

首先考虑了系统限制问题,shell键入
ulimit -a
查看core文件有没有限制大小,发现没有,是unlimited,所以不是这个原因
(如果大小为0,说明禁止了core文件的产生,可以通过 ulimit -c unlimited 来解除限制)

其次考虑是不是程序实现和权限方面的问题
查阅资料,总结不产生core的相关情况如下:

程序设置了用户id(即调用setuid),但当前用户并非该程序文件的所有者
程序设置了组id(即调用setgid),但当前用户并非该程序文件的组所有者
用户没有当前目录或指定core文件产生目录的写权限
core文件太大,磁盘空间不足
但以上并没有解决我的问题

考虑core文件产生位置
core的缺省位置是程序所在目录,可以通过修改/proc/sys/kernel/core_pattern来指定core文件生成位置了名称。
通过查看core_pattern文件,发现其确实指定了一个路径,于是我前往那个路径,发现竟然是脚本程序,后来查看说明文件,才知道core_pattern中如果首先指定了一个 ‘|’ 管道符,则会将生成的core文件传递给后面所跟的脚本去处理。
至此,也就确定了问题的原因,| 管道符后面的脚本将我们的core文件给吞了,解决方法自然就是去掉这个脚本,换成自己指定的目录
但直接去修改core_pattern文件并没有成功,保存时会提示FSync错误,查阅资料得知,这个文件有特殊限制,只能通过命令:
sudo bash -c "echo 这里是写入内容 > /proc/sys/kernel/core_pattern "
我使用:
sudo bash -c "echo core > /proc/sys/kernel/core_pattern "
来进行写入,即指定程序所在目录为core文件生成目录,core文件名称为"core"。

之后再运行程序,core dump后,即在当前程序文件目录下生成了core文件

gdb调试coredump(使用篇)_sunxiaopgdb调试coredump(使用篇)_sunxiaopengsun的博客-程序员宅基地_gdb调试coregdb调试coredump(使用篇)_sunxiaop


 

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

智能推荐

mov 指令用c语言写,汇编总结:mov指令-程序员宅基地

文章浏览阅读3.6k次。mov指令的作用:mov指令可能是汇编里用的最多的指令了,完成c语言里的赋值。mov指令种类:1.普通的mov指令2.做符号扩展的movs3.做零扩展的movz1.普通mov的种类有:movb#完成1个字节的复制movw#完成2个字节的复制movl#完成4个字节的复制movq#完成8个字节的复制2.movs的种类以及为什么要符号扩展指令?1.为什么要用符号扩展指令如果要完成下面的c语言代码..._c语言mov

2018年海南省计算机等级,2018年3月海南计算机等级报名时间、报名入口-程序员宅基地

文章浏览阅读60次。【导语】《2018年3月海南计算机等级考试报名公告》现已发布,据了解2018年起考试将进行改革,具体详见《2018年全国计算机等级考试调整方案》。2018上半年海南计算机等级报名时间:2017年12月11日-26日,考试时间:3月24日-26日,小编现将报考信息发布如下:一、报名时间2018年3月海南计算机等级考试报名时间:2017年12月11日-26日,报名工作采用网上报名的方式,报名网站“海南...

斗罗c++控制台游戏-程序员宅基地

文章浏览阅读295次。斗罗c++控制台游戏,无法存档

C++ 带默认参数值的函数(第三章)_3、带默认参数值的函数3、带默认参数值的函数编程题3: 计算长方体的体积,长宽-程序员宅基地

文章浏览阅读1k次。目录默认参数值默认参数值的说明次序默认参数值与函数的调用位置例3-15计算长方体的体积源代码默认参数值l可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值。l例:int add(int x = 5,int y = 6) { return x + y;}int main() { add(10,20); //10+20 add(10); //10+6 add(); ..._3、带默认参数值的函数3、带默认参数值的函数编程题3: 计算长方体的体积,长宽

运维工程师的从初级到高级的工作内容_初级运维往上-程序员宅基地

文章浏览阅读1.2k次,点赞6次,收藏24次。运维工程师在前期是一个很苦逼的工作,在这期间可能干着修电脑、掐网线、搬机器的活,显得没地位!时间也很碎片化,各种零碎的琐事围绕着你,很难体现个人价值,渐渐的对行业很迷茫,觉得没什么发展前途。这些枯燥无味工作的确会使人匮乏,从技术层面讲这些其实都是基本功,对后期的运维工作会无形中带来一定的帮助,因为我也是这么过来的,能深刻体会到。所以在这个时期一定要保持积极向上的心态,持续的学习。在未来的..._初级运维往上

【毕业设计】STM32图书馆系统-程序员宅基地

文章浏览阅读91次。本次图书馆系统的设计使用STM32单片机作为控制中心,通过DS18B20测温,当温度超限则继电器控制调温,通过MQ-2检测烟雾,当烟雾超限则蜂鸣器报警,通过RFID进行刷卡计数,通过光电管进行座位检测,当检测到刷卡则通过语音播报座位状态。

随便推点

oraclestddev函数_ORACLE分组函数stddev和variance,我心存的疑问-程序员宅基地

文章浏览阅读248次。方差函数VARIANCE(x),具体方法是:设方差s,a为x1,x2...xn的平均值 ,则s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n标准差函数STDDEV(x),具体算法是:方差开方。设标准查为& ,则 &^2 = s但是我通过以下的实验,发现oracle是这样计算variance()的,s = [(x1-a)^2+(x2-a)^2..._oracle stddev 公式

DBCC SHRINKFILE收缩日志/收缩数据库/收缩文件-程序员宅基地

文章浏览阅读538次。DBCC SHRINKFILE收缩相关数据库的指定数据文件或日志文件大小。语法DBCC SHRINKFILE({file_name|file_id}{ [,target_size]| [,{ EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]})参数fil..._dbcc shrinkfile 压缩数据库

Androrid KeyStore, KeyStore TA (四)_android keystore 信任根-程序员宅基地

文章浏览阅读2.6k次。源代码:https://android.googlesource.com/trusty/app/keymaster/ git clone https://android.googlesource.com/trusty/app/keymaster https://wenku.baidu.com/view/34433fa1be1e650e53ea9927.html KeyStore API: test..._android keystore 信任根

Variational Auto-Encoder (VAE)论文阅读与公式推导_vae原论文-程序员宅基地

文章浏览阅读1.6k次。1.问题描述给定一个数据集,假设其满足样本间独立同分布。本质上,我们希望得到关于该数据集的真实的概率分布p(x),虽然有一些方法能够直接估计p(x)中某一点的概率(例如核密度估计、近邻方法),但这些方法一方面准确性较差,并且随着样本维度的升高,对样本数量的需求也是指数增加的。简单来说,我们多数情况下无法知道p(x)。 那么换一个思路,假设每个样本是由一组潜在的因素决定,这些因素..._vae原论文

HashMap的实现原理_hashmap 实现原理-程序员宅基地

文章浏览阅读2.4k次。HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义HashMap实现了Map接口,继承Abstract..._hashmap 实现原理

JAVA截长屏图代码,java实现截屏功能的代码-程序员宅基地

文章浏览阅读700次。抓取思路是首先抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏。import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;i..._java 截长图

推荐文章

热门文章

相关标签