当前位置: 首页 > news >正文

core dump(介绍,status中的core dump标志,应用--调试),ulimit命令

目录

core dump(核心转储)

引入

介绍 

core dump标志 

引入

介绍

应用 -- gdb调试

注意点 

ulimit命令

-a

-c

示例 -- core file大小问题


core dump(核心转储)

引入

  • 我们可以看到,不同的signal对应不同的编号和action:
  • 其中action主要分为term和core
  • term就是终止的意思
  • 而core是什么呢?

介绍 

  • 在进程由于某些错误(如段错误)而终止时,操作系统可能会生成core转储文件
  • (其实就是,如果被发送带有core属性的信号,就会产生core文件)
  • 这个文件包含了进程在崩溃时的内存映像,可以用于调试
  • 该文件大小可以被设置
  • 如果文件大小为0,即使应该发生核心转储,也不会生成core文件

core dump标志 

引入

在之前介绍wait函数时,它有一个参数status,用于保存进程退出信息:

它用bit位存储信息,其中低8位存储被信号杀死时的信息:

第8位就是core dump标志:

介绍

如果杀死它的信号带有core dump属性,就会将第8位赋为1

读取该bit位,就可以让os知道,到底要不要将该进程在内存中的核心数据转存到磁盘上

应用 -- gdb调试

void test2(){                    int a=1;                       a/=0;                          
} 

代码运行结果:

会发现它对应的就是8号信号:

生成core文件后,使用gdb调试:

直接加载core文件,可以定位到发生异常的位置:

注意点 

  • 一般生产环境中,core dump是关闭的
  • 因为如果出现问题,主机并不会直接关闭,而是重启服务
  • 但一运行就挂,一运行就挂,会产生非常多的core文件,最终可能会导致磁盘爆满
  • 而虚拟机一般是默认开启的(因为它用于测试和开发)

ulimit命令

-a

可以查看有关各种系统资源的硬资源和软资源限制的信息

-c

可以查看或设置shell 会话的核心转储文件大小限制

当前是0:

设置为1024后:

示例 -- core file大小问题

其中3号信号会发生核心转储,所以使用3为例子:

当core file 大小为0时,发送3号信号,并没有生成core文件:

不为0时:

所以可以说明,文件大小会影响最终到底有没有生成core文件

http://www.lryc.cn/news/233009.html

相关文章:

  • 使用键盘管理器更改键盘快捷键,让键盘真正迎合你的使用习惯
  • putty保存登录账号和密码
  • GRS认证是什么认证为何如此重要
  • 基于pytest-bdd的项目目录结构和命名规范
  • web前端开发网页设计课堂作业/html练习《课程表》
  • 用欧拉路径判断图同构推出reverse合法性:1116T4
  • 高阶数据结构---树状数组
  • 如何保护PayPal账户安全:防止多个PayPal账号关联?
  • 关于 Spring :松耦合、可配置、IOC、AOP
  • pytorch tensor数据类型转换为python数据
  • HarmonyOS开发:动态共享包的依赖问题
  • 中睿天下加入中关村华安关键信息基础设施安全保护联盟
  • 【c++STL算数仿函数,关系仿函数,逻辑仿函数】
  • 产品经理的能力模型是什么?
  • 缓存和DB一致性
  • netty websockt之断连重试
  • 【Gateway】基于ruoyi-cloud-plus项目,gateway局部过滤器和过滤返回以及集成nacos
  • mysql -mmm
  • C++初阶 类和对象(下)
  • 使用Postman进行压力测试
  • AI视频检索丨历史视频标签化,助力重要事件高效溯源
  • 【前段基础入门之】=>CSS3新特性 响应式布局
  • 【Java 进阶篇】JQuery 遍历:发现元素的魔法之旅
  • 合肥数字孪生赋能工业制造,加速推进制造业数字化转型
  • Linux发展史与环境安装
  • 【uniapp】 video视频层级、遮挡其他弹窗或顶部导航 使用nvue覆盖
  • opencv(1):创建和显示窗口, 读取保存图片
  • LeetCode530. Minimum Absolute Difference in BST
  • Flink(五)【DataStream 转换算子(上)】
  • 【vitis】 AIE basic