core檔案的設定和檢視

2021-10-08 19:37:22 字數 1156 閱讀 5569

使用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,非常不...