core文件在什么位置創(chuàng)建 在 進程當前工作目錄的下創(chuàng)建。通常與程序在相同的路徑下。但如果程序中調(diào)用了chdir函數(shù),則有可能改變了當前工作目錄。這時core文件創(chuàng)建在 chdir指定的路徑下。有好多程序崩潰了,我們卻找不到core文件放在什么位置。和chdir函數(shù)就有關(guān)系。當然程序崩潰了不一定都產(chǎn)生core文 件。
什么時候不產(chǎn)生core文件
在下列條件下不產(chǎn)生core文件:
( a )進程是設(shè)置-用戶-ID,而且當前用戶并非程序文件的所有者;
( b )進程是設(shè)置-組-ID,而且當前用戶并非該程序文件的組所有者;
( c )用戶沒有寫當前工作目錄的許可權(quán);
( d )文件太大。core文件的許可權(quán)(假定該文件在此之前并不存在)通常是用戶讀/寫,組讀和其他讀。
如何產(chǎn)生core文件
系統(tǒng)中默認的是禁止產(chǎn)生core文件的
$ ulimit -c
0
$ ulimit -c 1000 允許產(chǎn)生core文件,并且限制大小為1000
還是無法產(chǎn)生core文件,檢查用戶沒有寫當前工作目錄的許可權(quán)
如何用gdb調(diào)試core文件$ gdb yourprogram corefile