出現問題,不知道怎麼解決,出現段錯誤,解決不了。那試一下core檔案資訊吧!
採用core檔案的方法
1.core檔案在什麼位置建立?
在程序當前工作目錄的下建立。通常與程式在相同的路徑下。但如果程式中呼叫了chdir函式,則有可能改變了當前工作目錄。這時core檔案建立在chdir指定的路徑下。有好多程式崩潰了,我們卻找不到core檔案放在什麼位置。和chdir函式就有關係。當然程式崩潰了不一定都產生core檔案。
2. 什麼時候不產生core檔案?
在下列條件下不產生core檔案:
( a )程序是設定-使用者-id,而且當前使用者並非程式檔案的所有者;3.如何產生core檔案?( b )程序是設定-組-id,而且當前使用者並非該程式檔案的組所有者;
( c )使用者沒有寫當前工作目錄的許可權;
( d )檔案太大。core檔案的許可權(假定該檔案在此之前並不存在)通常是使用者讀/寫,組讀和其他讀。
系統中預設的是禁止產生core檔案的
[root@localhost ~]# ulimit -c允許產生core檔案,並且限制大小為10000 [root@localhost ~]# ulimit -c 1000
如果還是無法產生core檔案,注意看一下,程式是否有當前目錄許可權。
[root@localhost ~]# gdb quesimv core就會定位到出錯的具體位置
linux除錯core檔案
core dump test.c 1 include 2 3 const char str test 45 void core test 6 9 10 int main 11 以上為除錯 編譯完成以後 當前目錄ls 已經找到了core 檔案 root localhost gongmh ls bate...
gdb,程式除錯助手
退出命令 quit或者簡寫q 幫助獲取 可以通過分類名作為help指定的引數來獲得幫助,以斷點 breakpoint 為例 在gdb除錯中,有幾個注意點可以提高除錯效率,第一,如果輸入的命令開頭字母能唯一標識這個命令,則後面的命令可以不用輸入,例如退出命令quit,只輸入q就已經是唯一標識的命令了,...
使用core檔案除錯程式
1 首先編譯程式,命令 gcc g text.c o text 這裡加上 g才能正常顯示出錯資訊。2 然後執行程式,命令 text 如果出錯會提示有段錯誤。3 一般出現錯誤,會在當前目錄產生乙個core.的檔案,如果沒有,你需要執行ulimit c檢視預設的core檔案大小,如果是0,則應該執行命令...