linux的core檔案認識

2021-09-21 15:02:16 字數 1919 閱讀 1036

今天早上,乙個同事過來找我,說讓我啟動linux的core檔案,說真的還真是沒有弄過都不知道是東西,最後在網上一查才知道是幹什麼用的,在乙個程式崩潰時,它一般會在指定目錄下生成乙個core檔案。core檔案僅僅是乙個記憶體映象(同時加上除錯資訊),主要是用來除錯的。

按照網上的資料看了看自己的機器,確實linux預設是限制core檔案大小的,預設是0,如何看自己機器的core檔案大小呢,用下面的命令:

# ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

file size               (blocks, -f) unlimited

pending signals                 (-i) 69632

max locked memory       (kbytes, -l) 32

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

posix message queues     (bytes, -q) 819200

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 69632

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

可以看到core file size          (blocks, -c) 0 預設為0

我們把他改下,利用這個命令來進行修改,

ulimit -c 1024,

然後再看看

# ulimit -a

core file size          (blocks, -c) 1024

data seg size           (kbytes, -d) unlimited

file size               (blocks, -f) unlimited

pending signals                 (-i) 69632

max locked memory       (kbytes, -l) 32

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

posix message queues     (bytes, -q) 819200

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 69632

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

現在已經設定成1024了,我們到自己寫的程式下面執行自己的程式,發現當程式發生錯誤時,會生成乙個core檔案用來發現自己程式的錯誤.

如何檢視core,用到這個命令

gdb core檔名.

Linux生成core檔案 core檔案路徑設定

在linux下產生並除錯core檔案 先看看我用的是個什麼機器 uname a linux dev 2.4.21 9.30axsmp 1 smp wed may 26 23 37 09 edt 2004 i686 i686 i386 gnu linux 再看看預設的一些引數,注意core file ...

Linux生成core檔案 core檔案路徑設定

在linux下產生並除錯core檔案 先看看我用的是個什麼機器 uname a linux dev 2.4.21 9.30axsmp 1 smp wed may 26 23 37 09 edt 2004 i686 i686 i386 gnu linux 再看看預設的一些引數,注意core file ...

Linux生成core檔案 core檔案路徑設定

在linux下產生並除錯core檔案 先看看我用的是個什麼機器 uname a linux dev 2.4.21 9.30axsmp 1 smp wed may 26 23 37 09 edt 2004 i686 i686 i386 gnu linux 再看看預設的一些引數,注意core file ...