精品网站建设费用 尖端磐石网络,广告设计总结,网站主页设计欣赏,wordpress七牛镜像文章目录 #x1f308; 一、什么是核心转储#x1f308; 二、如何启动核心转储#x1f308; 三、为什么有核心转储 #x1f308; 一、什么是核心转储
核心转储 (Core Dump)#xff1a;当一个进程异常终止时#xff0c;会在触发进程崩溃的目录下生成一个以进程 pid 命名的… 文章目录 一、什么是核心转储 二、如何启动核心转储 三、为什么有核心转储 一、什么是核心转储
核心转储 (Core Dump)当一个进程异常终止时会在触发进程崩溃的目录下生成一个以进程 pid 命名的 core 文件。 该文件的作用是将崩溃的进程在崩溃时的核心上下文数据存储到磁盘中。 二、如何启动核心转储
一个进程允许产生多大的 core 文件取决于进程的 Resource Limit这个信息保存在 PCB 中。默认是不允许产生 core 文件的即默认不允许发生核心转储因为 core 文件中可能包含用户密码等敏感信息不安全。 可以在命令行中输入 ulimit -a 指令查看是否看起核心转储功能如果 core file size 为 0 则说明未开启。 在开发调试阶段可以用 ulimit -c core文件大小 命令改变这个限制允许产生 core 文件。 例ulimit -c 1024将 core 文件大小设置为 1024从而开启核心转储功能。 触发核心转储实例
编写一个具有除零错误的代码触发异常终止从而引起核心转储。
#include iostream
#include unistd.husing std::cout;
using std::endl;int main()
{cout 当前进程 pid 为: getpid() endl;// 触发异常终止int a 10;a / 0;return 0;
}三、为什么有核心转储
前面也说过了core 文件中存储的是进程在崩溃时产生的上下文数据。那么 core 文件存在的主要目的就是为了 debug