當程式潛在一些bug, 在執行時常常會出現無故崩掉的情況,通過跟蹤其產生的core檔案排查故障是個不錯的選擇。
產生core檔案的條件:
1.在編譯時,gcc/g++ 需要新增乙個-g引數
2.程式執行所在主機,需要這是climit -c 為非0
即:在終端執行 climit -a, 檢視 core檔案的限制大小,若為0,則無法產生core檔案。
操作方法:climit -c unlimited, 也可以採用 climit -c n, (n為具體數值,單位為kb)
通過core檔案跟蹤:
1.當程式遇到不可知異常退出時,預設在程式執行目錄下會產生乙個core.*** ***為該程式的程序號。
2.執行一下命令,gdb bin_name core.*** (bin_name為程式名,若與執行名字不在同一目錄, 需加具體路徑)
3.然後執行bt, 就可以看到詳細錯誤資訊了。
Linux下core檔案除錯方法
在程式不尋常退出時,核心會在當前工作目錄下生成乙個core檔案 是乙個記憶體映像,同時加上除錯資訊 使用gdb來檢視core檔案,可以指示出導致程式出錯的 所在檔案和行數。1.core檔案的生成開關和大小限制 1 使用ulimit c命令可檢視core檔案的生成開關。若結果為0,則表示關閉了此功能,...
Linux下core檔案除錯方法
在程式不尋常退出時,核心會在當前工作目錄下生成乙個core檔案 是乙個記憶體映像,同時加上除錯資訊 使用gdb來檢視core檔案,可以指示出導致程式出錯的 所在檔案和行數。1.core檔案的生成開關和大小限制 1 使用ulimit c命令可檢視core檔案的生成開關。若結果為0,則表示關閉了此功能,...
Linux下core檔案除錯方法
在程式不尋常退出時,核心會在當前工作目錄下生成乙個core檔案 是乙個記憶體映像,同時加上除錯資訊 使用gdb來檢視core檔案,可以指示出導致程式出錯的 所在檔案和行數。1.core檔案的生成開關和大小限制 1 使用ulimit c命令可檢視core檔案的生成開關。若結果為0,則表示關閉了此功能,...