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

news2024/11/26 12:33:28

目录

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.coloradmin.cn/o/1219350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLMs实际上在假对齐!

深度学习自然语言处理 原创作者:cola 对大型语言模型(LLM)中安全问题的意识日益增强,引发了人们对当前研究工作中的安全性评估的极大兴趣。本研究调查了与llm评估有关的一个有趣问题,即多重选择问题和开放式问题之间的性能差异。我们发现LLM对…

RTMP服务器搭建

1、流媒体 基本概念 流媒体(Streaming media),也叫做:流式媒体。 是指将一连串的多媒体数据压缩后,经过互联网分段发送数据,在互联网上即时传输影音以供观赏的一种技术与过程此技术使得数据包可以像流水…

Kubernetes Dashboard部署ImagePullBackOff问题处理

通常,出现ImagePullBackOff问题是由于Kubernetes集群无法拉取所需的镜像导致的。解决这个问题的方法通常包括以下步骤: 1. 检查Pod的描述信息: kubectl describe pod/[pod名称] --namespacekubernetes-dashboard 查看Events部分是否有关于…

如何制作优秀的二维码电子产品说明书?干货来了!

想象一下,如果同时出现以下场景,您会怎么解决? 用户在使用产品过程中可能遇到问题、疑问或需要进一步的指导,但纸质说明书丢失 产品更新、升级和新功能的发布,纸质产品说明书无法快速更新 公司推出的产品可能具有…

【uniapp】 video视频层级、遮挡其他弹窗或顶部导航 使用nvue覆盖

uniapp 顶部导航和弹窗被video遮挡解决办法 第一步:配置 subNVues {"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app","navigationStyle": "custom","app-…

微信抽奖活动怎么做

微信抽奖活动:打破传统,创新互动,带给你超乎想象的惊喜体验! 随着互联网的飞速发展,人们越来越热衷于参与各种线上活动。而微信,作为中国最大的社交平台之一,自然成为了各种活动的聚集地。今天…

本地MQTT协议消息服务远程连接教程介绍

Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行,包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景,提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递…

数据仓库-数仓架构

1 数据仓库建设方法论 1.1 项目背景 数据仓库将建设成为融通全公司数据资产,提供便捷数据分析和数据服务,支持全公司数字化经营与创新。 1.2 数据仓库概述 数据仓库是一个面向主题的、集成的、相对稳定的、反映有历史变化的数据集合,用于…

芸鹰蓬飞:抖店服务分怎么快速升分?

在这个平台上,抖店服务分数的高低直接关系到商家在抖音平台上的曝光和信任度。那么,如何快速提升抖店服务分,成为了广大商家亟需解决的问题。本文将从多个角度,深入探讨提升抖店服务分的有效方法。 一、了解抖店服务分的评估标准 …

高阶数据结构---树状数组

文章目录 楼兰图腾一个简单的整数问题 一个简单的整数问题2谜一样的牛 一、楼兰图腾OJ链接 二、一个简单的整数问题OJ链接 三、一个简单的整数问题2OJ链接 四、谜一样的牛OJ链接

盘点十大免费低/无代码开发软件,数字化转型看这里

在数字化日益普及的当下,低代码开发技术逐渐受到大众的追捧。这种技术让缺乏编程经验的大众也能轻松创建应用程序和网站。通过直观的图形界面和拖拽功能,用户可以无需编写任何代码,轻松实现自己的开发需求。本文将为您介绍十大免费的低代码开…

AI视频检索丨历史视频标签化,助力重要事件高效溯源

随着科技的不断发展,安全监控已成为我们生活中不可或缺的一部分。当发生盗窃、人员走失、安全事故等重要事件时,常常需要通过查看视频回放了解事情经过,为解决问题提供证据或指明查找方向。但是,人工查看视频回放往往费时费力&…

【嵌入式开发学习】__扒一扒单片机串口IAP原理

一、什么是IAP? IAP 是 In Application Programming 的首字母缩写,IAP是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在重新编程过程…

深入Android S(12.0) 探索 Android Framework 之 SystemServer 进程启动详解

深入学习 Android Framework 第三:深入Android S(12.0) 探索 Android Framework 之 SystemServer 进程启动详解 文章目录 深入学习 Android Framework前言一、Android 系统的启动流程1. 流程图2. 启动流程概述 二、源码详解1. 时序图2. 源代码1、ZygoteInit # main…

草图大师SketchUp Pro 2023

SketchUp Pro 2023 for Mac(草图大师)是一款三维建模软件,由Trimble Inc.开发。它可以用于创建、修改和分享3D模型,包括建筑、家具、景观等。 SketchUp Pro 2023 for Mac提供了简单易学的用户界面和强大的工具集,使用…

数据库表数据类型datetime 和 timestamp区别,以及优缺点

datetime和timestamp都是用于表示日期和时间的数据类型,但它们在存储和使用上有一些区别。 数据范围:datetime数据类型的有效范围是从1000年到9999年,精度为秒。timestamp数据类型的有效范围是从1970年到2038年,精度为秒。存储空…

element-china-area-data插件vue3做省市区的下拉选择,用3个独立的el-select实现

第1版,选择下拉没有优化 第2版,选择下拉时,做了优化

<蓝桥杯软件赛>零基础备赛20周--第6周--数组和队列

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…

SystemVerilog学习 (10)——线程控制

一、概述 在实际硬件中,时序逻辑通过时钟沿来激活,组合逻辑的输出则随着输人的变化而变化。所有这些并发的活动在Verilog 的寄存器传输级上是通过initial和 always块语句、实例化和连续赋值语句来模拟的。为了模拟和检验这些语句块,测试平台使用许多并发执行的线程。在测试平台…

Python 集成 Nacos 配置中心

Python 集成 Nacos 配置中心 下载 Nacos 官方 pyhton 库 pip install nacos-sdk-python # 指定国内阿里云镜像源 pip3 install nacos-sdk-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com配置 Nacos 相关信息 Global:nacos:port: 8848…