core文件生成和路徑設置


在程序崩潰時,內核會生成一個core文件,即程序最后崩潰時的內存映像,和程序調試信息。 之后可以通過gdb,打開core文件察看程序崩潰時的堆棧信息,可以找出程序出錯的代碼所在文件和函數。

1.core文件的生成開關和大小限制  1)使用ulimit -a命令,可以察看core文件的生成開關和大小限制所有信息  2)使用ulimit -c命令可查看core文件的生成開關。若結果為0,則表示關閉了此功能,不會生成core文件。  3)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的單位為kbyte)。     若ulimit -c unlimited,則表示core文件的大小不受限制。

2.core文件的名稱和生成路徑

若未設置過core文件生成路徑和名稱,默認生成在可執行文件運行命令的同一路徑下,命名為core。新的core文件生成將覆蓋原來的core文件。

 1)core文件保存位置和文件名設置    通過編輯proc/sys/kernel/core_pattern,設置文件路徑和文件名

  echo "/corefile/core-%e-%p-%t" > core_pattern

 所產生的 core 文件會存放到 /corefile 目錄下,產生的文件名為 core- 命令名 -pid- 時間戳

文件名參數列表:

    %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 添加命令名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM