1 什么是 Core Dump
Core Dump 又叫核心轉(zhuǎn)儲。在程序運(yùn)行過程中發(fā)生異常時(shí),將其內(nèi)存數(shù)據(jù)保存到文件中,這個(gè)過程叫做 Core Dump。
2 Core Dump 的作用
在開發(fā)過程中,難免會遇到程序運(yùn)行過程中異常退出的情況,這時(shí)候想要定位哪里出了問題,僅僅依靠程序自身的信息打?。ㄈ罩居涗洠┩遣粔虻模@個(gè)時(shí)候就需要 Core Dump 文件來幫忙了。
一個(gè)完整的 Core Dump 文件實(shí)際上相當(dāng)于恢復(fù)了異常現(xiàn)場,利用 Core Dump 文件,可以查看到程序異常時(shí)的所有信息,變量值、棧信息、內(nèi)存數(shù)據(jù),程序異常時(shí)的運(yùn)行位置(甚至記錄代碼行號)等等,定位所需要的一切信息都可以從 Core Dump文件獲取到,能夠非常有效的提高定位效率。
3 如何生成 Core Dump
3.1 Core Dump 文件生成開關(guān)
Core Dump 文件的生成是由Core文件大小限制,Linux中默認(rèn)的Core文件大小設(shè)置為零,也就是不生成 Core Dump 文件,可以使用ulimit -c命令來查看當(dāng)前的Core文件大小限制。
要生成 Core Dump 文件,只需要執(zhí)行下面的命令設(shè)置Core文件的大小即可(其中filesize參數(shù)的單位為KByte):
變量 | |
---|---|
%% | % 字符 |
%p | 進(jìn)程ID(PID) |
%u | 用戶ID(UID) |
%g | 用戶組ID |
%s | 觸發(fā) Core Dump 的信號 |
%t | 觸發(fā) Core Dump 的時(shí)間(單位為秒,從 1970-01-01 00:00:00 開始計(jì)算) |
%h | 主機(jī)名稱(主機(jī)名可以通過uname 命令來查看) |
%e | 程序名稱(無路徑信息) |
%E | 程序的路徑名稱(路徑中的/ 會被! 替代) |
%c | Core文件的限制大小值(Linux 2.6.24版本后開始支持) |
4 如何使用 Core Dump
有了 Core Dump 文件后,可以使用GDB來加載分析,執(zhí)行如下命令(假設(shè)可執(zhí)行程序名稱及路徑為/home/hutaow/test_dump,生成的Core文件名為core):
標(biāo)簽:大連 陜西 遼陽 泰安 茂名 汕頭 玉林 紹興
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中生成Core Dump系統(tǒng)異常信息記錄文件的教程》,本文關(guān)鍵詞 Linux,中,生成,Core,Dump,系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。