使用ulimit -c 命令可檢視core檔案的生成開關,若結果為0,則便是關閉了此功能,不會生成core檔案。
ulimit -c unlimited #設定core的檔案大小
sysctl -w kernel.core_pattern=/data/core.%e.%p.%t
#設定core檔案的儲存格式和路徑
以下是引數列表:
%p新增pid
%u新增當前uid
%g新增當前gid
%s新增導致產生core的訊號
%t新增core檔案生成的unix時間
%h新增主機名
%e新增命令名
使用 :
gdb + 程式 + core檔案然後通過bt或者where檢視程式崩潰時的堆疊資訊
gdb /root/service core.service.10590.1593437503
(gdb) bt#0 0x00007fa6fa653207 in raise () from /lib64/libc.so.6
#1 0x00007fa6fa6548f8 in abort () from /lib64/libc.so.6
#2 0x00007fa6faf627d5 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3 0x00007fa6faf60746 in ?? () from /lib64/libstdc++.so.6
#4 0x00007fa6faf60773 in std::terminate() () from /lib64/libstdc++.so.6
#5 0x00007fa6fafb7105 in ?? () from /lib64/libstdc++.so.6
#6 0x00007fa6fb61cdd5 in start_thread () from /lib64/libpthread.so.0
#7 0x00007fa6fa71aead in clone () from /lib64/libc.so.6
core檔案如何檢視和除錯
除錯linux程式的時候,出現segmentation fault是最鬱悶的事情了,程式 量很大的時候,可能花很多時間都找不到出錯原因。這裡介紹一種對你除錯segmentation fault很有幫助的方法,可能能迅速幫助你找到出錯的 行。這種方法需要用到linux提供的core dump機制 當程...
如何檢視core檔案
在unix系統下,應用程式崩潰,一般會產生core檔案,如何根據core檔案查詢問題的所在,並做相應的分析和除錯,是非常重要的,本文對此做簡單介紹。例如,乙個程式cmm test tool在執行的時候發生了錯誤,並生成了乙個core檔案,如下 rw r r 1 root cmm test tool....
linux 下core檔案的設定
由於linux下的程式有時候需要根據core檔案來判斷出錯的地方,但是 proc sys kernel core core pattern 預設內容 core proc sys kernel core uses pid 預設內容 0 每次都只有乙個core,而且新的core會覆蓋舊的core,非常不...