在程序崩潰時,內核會生成一個core文件,即程序最後崩潰時的內存映像,和程序調試信息。 以後能夠經過gdb,打開core文件察看程序崩潰時的堆棧信息,能夠找出程序出錯的代碼所在文件和函數。app
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文件的名稱和生成路徑ui
若未設置過core文件生成路徑和名稱,默認生成在可執行文件運行命令的同一路徑下,命名爲core。新的core文件生成將覆蓋原來的core文件。unix
1)core文件保存位置和文件名設置 經過編輯proc/sys/kernel/core_pattern,設置文件路徑和文件名調試
echo "/corefile/core-%e-%p-%t" > core_pattern內存
所產生的 core 文件會存放到 /corefile 目錄下,產生的文件名爲 core- 命令名 -pid- 時間戳it
文件名參數列表:table
%p - insert pid into filename 添加 pidsed
%u - insert current uid into filename 添加當前 uidfile
%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 添加命令名