Ubuntu Linux 下程序崩溃生成 coredump 的方法 **Linux 下 coredump 文件** 在 Linux 系统下,存在一种 coredump 机制。当程序出现段错误时,内核错误,通常出现这类的问题是低级 bug 中的内存访问越界、使用空指针、堆栈溢出等情况。使程序运行过程中异常退出或者终止,满足这些条件就会产生 coredump 文件。coredump 文件是 Linux 系统下的一种错误处理机制,用于保存程序崩溃时的内存镜像,以便后续进行错误分析和调试。 **更改 coredump 文件的生成路径** 在 Linux 系统下,coredump 文件的生成路径可以通过调整来改变。可以通过关闭 apport.service 服务程序来实现 coredump 文件的生成。apport.service 服务程序是 Ubuntu 系统中自带的程序,默认是开启的。功能是自动生成崩溃报告,官方为了自动收集错误的软件。 **关闭 apport.service 服务程序** 要关闭 apport.service 服务程序,可以在 Linux 终端输入以下命令: ``` sudo service apport stop ``` 然后,可以在程序崩溃时生成 coredump 文件,默认名称为 `core`。 **无法生成 coredump 文件的可能原因** 在 Linux 系统下,无法生成 coredump 文件可能是因为以下几种原因: 1. coredump 功能可能没有开启。 2. 被 Ubuntu 系统中 apport.service 服务程序自动处理了(即被系统的服务程序吞掉了)。 3. 生成 coredump 文件的信号被用户程序捕捉。 4. 生成的 coredump 文件太大。 **使用 coredump 文件分析方法** 使用 coredump 文件分析方法来定位代码运行崩溃问题时,前提是代码在编译阶段需要加入 `-g` 编译选项。这样可以生成带调试信息的可执行文件,从而可以使用 coredump 文件进行错误分析和调试。 ** Ubuntu 系统下 coredump 文件生成** 在 Ubuntu 系统下,默认情况下,同时开启 coredump 功能的前提下,对存在段错误的 C 代码进行(带 `-g` 编译选项)进行编译,运行时不会生成 coredump 文件。这是因为 apport.service 服务程序已经处理了生成的 coredump 文件。需要关闭 apport.service 服务程序来生成 coredump 文件。
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 3w+
- 资源: 1761
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解