广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下core文件的使用方法详解
  • 658
分享到

Linux下core文件的使用方法详解

linuxcore文件linux下core文件linux生成core文件 2022-06-04 22:06:56 658人浏览 安东尼
摘要

前言 有时候程序会异常退出而不带任何日志,此时就可以使用 code 文件进行分析,它会记录程序运行的内存,寄存器,堆栈指针等信息 什么是core文件 通常在 linux 下遇到程序异常退出或者中止,我们都会使用 cor

前言

有时候程序会异常退出而不带任何日志,此时就可以使用 code 文件进行分析,它会记录程序运行的内存,寄存器,堆栈指针等信息

什么是core文件

通常在 linux 下遇到程序异常退出或者中止,我们都会使用 core 文件进行分析,其中包含了程序运行时的内存,寄存器,堆栈指针等信息,格式为 ELF ,可以理解是程序工作当前状态转储成一个文件,通过工具分析这个文件,我们可以定位到程序异常退出或者终止时相应的堆栈调用等信息,为解决问题提供帮助。

使用core文件调试

生成方法

查看当前 core 文件的状态


$ ulimit -a
...
-c: core file size (blocks)   0 # 关闭状态
...

打开生成开关


ulimit -c unlimited
ulimit -a
...
-c: core file size (blocks)   unlimited
...

对 core 文件的大小进行限制,单位为 blocks ,一般 1 block=512 bytes ,设置太小可能导致不会生成文件


$ ulimit -c 1024
$ ulimit -a
...
-c: core file size (blocks)   1024
...

关闭生成开关


ulimit -c 0
ulimit -a
...
-c: core file size (blocks)   0
...

上面对 core 文件的操作仅对当前生效,若需要永久生效,则要将相应操作写入 /etc/profile

生成路径

core 文件默认生成在程序的工作目录,可以对生成路径进行设置,需要保证对对应目录有足够空间并具有写权限


echo /MyCoreDumpDir/core.%e.%p > /proc/sys/kernel/core_pattern

其中命名使用的参数列表


%p - insert pid into filename # 添加 pid 
%u - insert current uid into filename # 添加当前 uid 
%g - insert current gid into filename # 添加当前 gid 
%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 # 添加命令名

/proc/sys/kernel/core_uses_pid 这个文件的值若为1,则无论时候配置 %p ,最后生成的 core 文件都会添加 pid

调试方法

可以使用 gdb 对 core 文件进行调试,编译是需要带上 -g 选项


$ gdb a.out
...
(gdb) core-file core
...
(gdb) bt 
...

如需要在 PC 上调试嵌入式设备产生的 core 文件,则需要选取相应平台的 gdb 工具,并在进入 gdb 后设置符号文件的位置


$ xxx-xxx-gdb a.out
...
(gdb) solib-search-path xxx.so:xxx.so
...
(gdb) core-file core
...
(gdb) bt
...

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

--结束END--

本文标题: Linux下core文件的使用方法详解

本文链接: https://www.lsjlt.com/news/19416.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下core文件的使用方法详解
    前言 有时候程序会异常退出而不带任何日志,此时就可以使用 code 文件进行分析,它会记录程序运行的内存,寄存器,堆栈指针等信息 什么是core文件 通常在 linux 下遇到程序异常退出或者中止,我们都会使用 cor...
    99+
    2022-06-04
    linux core文件 linux下core文件 linux生成core文件
  • Linux 中 core dump 文件的作用和使用方法
    Linux 中 core dump 文件 一 、概述1.1 什么是 core dump 文件?1.2 core dump 文件的作用和意义1.3 Linux 中 core dump 文件的保存...
    99+
    2023-09-26
    运维 linux 开发语言 服务器 c语言
  • linux下dd使用方法详解
    本篇内容介绍了“linux下dd使用方法详解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 命令简介dd 的主要选项:指定数字的地方若以下列...
    99+
    2023-06-13
  • Linux下如何使用gdb调试core文件
    1.core文件 当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件。core文件是程序运行状态的内存映象。使用gdb调试core文件,可以帮...
    99+
    2022-06-03
    Linux gdb Linux gdb调试文件 Linux gdb调试core文件
  • Linux 下解压 rar 文件的方法
    网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩。 1. 下载 我们进入rarlab网站,进行下载 rar for linux x64 2. 使...
    99+
    2022-06-04
    linux 解压rar 文件 linux rar 文件
  • Linux系统core文件的具体使用方法是什么
    Linux系统core文件的具体使用方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存...
    99+
    2023-06-28
  • .Net Core下使用Dapper的方法
    目录一、前言二、Dapper环境搭建三、Dapper封装定义DapperDBContext类异步分页构建(PageAsync)定义工作单元与事务定义数据仓储数据库连接四、Dapper...
    99+
    2022-11-12
  • Linux下文件的压缩和解压方法
    本篇内容介绍了“Linux下文件的压缩和解压方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!gzip功能说明:解压文件。语  法:gzip...
    99+
    2023-06-12
  • 使用FileZilla从Linux系统下载文件的方法
    需求:将linux系统的的某个文件夹(里面包含文件夹和文件)下载到我Windows系统某个文件夹里 之前我使用xshell下载,但是通过 rz :上传sz:下载 命令中的sz命令,下载失败。 下载 code文件到本地 以...
    99+
    2022-06-04
    Linux系统下载文件 FileZilla 下载文件
  • Linux下/var/run/目录下的pid文件详解及pid文件作用
    先给大家介绍下linux下/var/run/目录下的pid文件,具体详解如下所示: linux系统中/var/run/目录下的*.pid文件是一个文本文件,其内容只有一行,即某个进程的PID。.pid文件的作用是防止进程...
    99+
    2022-06-04
    linux var run pid
  • Linux下.tar.xz文件的解压教程详解
    前言 对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小。 最近在下载某个源码包的时候遇到的这种压缩格式,乘此机会分享一下xz的压缩与解压方法。 安装 如果...
    99+
    2022-06-04
    详解 文件 教程
  • linux下上传下载文件夹的方法
    linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2为目标目录,z...
    99+
    2022-06-04
    linux 上传文件夹 linux下载文件夹
  • Linux下分析bin文件的方法
    这篇文章主要介绍“Linux下分析bin文件的方法”,在日常操作中,相信很多人在Linux下分析bin文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下分析bin文件的方法”的疑惑有所帮助!...
    99+
    2023-06-16
  • Linux系统下如何使用C++解析json文件详解
    1. 背景 工作需要,下班回来自己造轮子,记录以后查阅。 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要Lin...
    99+
    2022-11-12
  • 详解Linux下的文件标述符和文件指针
    Linux下的文件标述符和文件指针 文件标识符: 首先我们来了解一下文件标识符是什么东西? 文件描述符是计算机科学中的一个术语,是一个用于表述只想文件的引用的抽象化概念。 在linux当中,每...
    99+
    2022-06-04
    文件 指针 详解
  • 详解Linux下调试器GDB的基本使用方法
    目录一、概述二、gdb调试2.1、设置断点2.1.1、断点commands高级功能2.2、运行2.3、显示栈帧2.4、显示变量2.5、显示寄存器2.6、单步执行2.7、继续执行2.8、监视点2.9、改变变量的值2.1...
    99+
    2022-06-03
    Linux 调试器 GDB 调试器
  • java下载文件名乱码解决方法详解
    java下载文件名乱码的方法:(推荐:java视频教程)每个浏览器的编码不一样,火狐采用的是base64.ie和谷歌采用的是url编码:所以我们在设置响应头的时候Content-Type getServletContext().getMin...
    99+
    2018-11-08
    java
  • Linux Shell获取文件夹下的文件名方法
    有时候需要获取某个文件夹下的所有文件名,可以用程序实现,但是打开IDE,编译klwYDx运行太麻烦,在linux服务器中通常不能打开IDE,此时可以用几行简单的shell命令来实现,结果保存到某个文件中即可。 Shell...
    99+
    2022-06-04
    Linux Shell 文件名
  • Linux lnmp下无法使用mail发邮件的解决方法
    这篇文章主要介绍“Linux lnmp下无法使用mail发邮件的解决方法”,在日常操作中,相信很多人在Linux lnmp下无法使用mail发邮件的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lin...
    99+
    2023-06-13
  • .gitignore文件作用及使用方法详解
    目录正文Git 忽略规则优先级Git 忽略规则匹配语法匹配示例特殊情况文件已经提交过添加一个已经配置忽略的文件检查文件为什么被忽略gitignore建议正文 在本地的代码目录中,有...
    99+
    2023-03-06
    .gitignore文件 .gitignore文件作用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作