校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux中生成Core Dump系統異常信息記錄文件的教程

Linux中生成Core Dump系統異常信息記錄文件的教程

熱門標簽:成都米蘭申請 廣東電話機器人開戶 百度地圖地圖標注客服多少 ai智能外呼系統是什么 哪種品牌的400電話申請 旅游路書地圖標注 適用的400電話辦理 百度ai電銷機器人排名 iphone地圖標注我的店鋪

1 什么是 Core Dump
Core Dump 又叫核心轉儲。在程序運行過程中發生異常時,將其內存數據保存到文件中,這個過程叫做 Core Dump。

2 Core Dump 的作用
在開發過程中,難免會遇到程序運行過程中異常退出的情況,這時候想要定位哪里出了問題,僅僅依靠程序自身的信息打印(日志記錄)往往是不夠的,這個時候就需要 Core Dump 文件來幫忙了。
一個完整的 Core Dump 文件實際上相當于恢復了異常現場,利用 Core Dump 文件,可以查看到程序異常時的所有信息,變量值、棧信息、內存數據,程序異常時的運行位置(甚至記錄代碼行號)等等,定位所需要的一切信息都可以從 Core Dump文件獲取到,能夠非常有效的提高定位效率。

3 如何生成 Core Dump
3.1 Core Dump 文件生成開關
Core Dump 文件的生成是由Core文件大小限制,Linux中默認的Core文件大小設置為零,也就是不生成 Core Dump 文件,可以使用ulimit -c命令來查看當前的Core文件大小限制。
要生成 Core Dump 文件,只需要執行下面的命令設置Core文件的大小即可(其中filesize參數的單位為KByte):

復制代碼
代碼如下:

ulimit -c filesize

如果要設置Core文件大小無限制(即把程序完整的運行內存都保存下來),則執行如下命令:

復制代碼
代碼如下:

ulimit -c unlimited

3.2 Core Dump 文件名設置
Core Dump 文件默認的名字為core,而且新的Core文件會把老的覆蓋,這樣我們只能看到最后一次的 Core Dump 信息,可以通過設置Core文件名稱模板,使每次生成的 Core Dump 文件區分開來。
Core Dump 文件的命名規則定義在/proc/sys/kernel/core_pattern文件中,規則中還可以加入預設的變量來更好的區分Core文件,支持的變量列表如下:

變量
說明
%% %字符
%p 進程ID(PID)
%u 用戶ID(UID)
%g 用戶組ID
%s 觸發 Core Dump 的信號
%t 觸發 Core Dump 的時間(單位為秒,從 1970-01-01 00:00:00 開始計算)
%h 主機名稱(主機名可以通過uname命令來查看)
%e 程序名稱(無路徑信息)
%E 程序的路徑名稱(路徑中的/會被!替代)
%c Core文件的限制大小值(Linux 2.6.24版本后開始支持)

注:Core Dump 文件名的最大長度為128字節(在 Linux 2.6.19 版本前,最大長度為64字節)。
例如:可以通過下面的命令,生成文件名為core-程序名稱-進程ID-時間的 Core Dump 文件:
echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern
從 Linux 2.4 版本開始,提供了一種比較原始的Core文件名設置方式,直接設置/proc/sys/kernel/core_uses_pid文件中的值為1,生成的Core文件名中便會自動加上.PID后綴,即生成的文件名為core.PID這種形式。執行下面的命令可以設置該值:

復制代碼
代碼如下:

echo "1" > /proc/sys/kernel/core_uses_pid

4 如何使用 Core Dump
有了 Core Dump 文件后,可以使用GDB來加載分析,執行如下命令(假設可執行程序名稱及路徑為/home/hutaow/test_dump,生成的Core文件名為core):

復制代碼
代碼如下:

gdb /home/hutaow/test_dump -c core

加載完成后,即可以在GDB中查看程序異常時的各種運行信息了(查看變量值、線程信息、調用棧、反匯編等等)。

標簽:大連 陜西 遼陽 泰安 茂名 汕頭 玉林 紹興

巨人網絡通訊聲明:本文標題《Linux中生成Core Dump系統異常信息記錄文件的教程》,本文關鍵詞  Linux,中,生成,Core,Dump,系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中生成Core Dump系統異常信息記錄文件的教程》相關的同類信息!
  • 本頁收集關于Linux中生成Core Dump系統異常信息記錄文件的教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 东源县| 临漳县| 三江| 东阳市| 万盛区| 宜黄县| 九龙县| 辉县市| 湖州市| 文安县| 蓬安县| 财经| 双牌县| 竹溪县| 罗田县| 墨脱县| 普陀区| 灌云县| 武功县| 项城市| 峨眉山市| 康平县| 中江县| 新巴尔虎右旗| 焦作市| 太康县| 拉萨市| 馆陶县| 陇西县| 宁都县| 和平区| 民县| 塘沽区| 肥西县| 建阳市| 沧源| 会泽县| 河津市| 钟祥市| 赤水市| 金沙县|