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