linux上程式崩潰起來挺煩人,不過linux 比較好的是有gdb.
echo然後記得敲入命令"ulimit -c unlimited
" >> /etc/profile
source /etc/profile然後敲入命令:
ulimit –c效果如下:
確認能否生成coredump檔案,使用如下命令(使用時注意,我在測的時候會直接退出當前使用者)
kill -s sigsegv $$然後回到執行上述命令的路徑下即可看到coredump檔案,我這邊生成的檔名為core.3477,依個人會隨機生成不同的數字。
除錯方式為: gdb program coredump檔案
例如我的可執行檔案為test, 生成的coredump檔案為core.3533,則命令如下:
gdb test core.3533顯示如下圖所示:
嗯,有的人運氣好,直接就顯示源**了,如果你像我一樣,接著用下面的命令
backtrace列印堆疊資訊。
我們看到最接近崩潰的地方在第8行
然後呼叫命令
frame 8直接找到源**的位置:
本文**:
gdb除錯coredump檔案
linux上程式崩潰起來挺煩人,不過linux 比較好的是有gdb.echo ulimit c unlimited etc profile 然後記得敲入命令 source etc profile然後敲入命令 ulimit c效果如下 確認能否生成coredump檔案,使用如下命令 使用時注意,我在測...
用gdb除錯core dump檔案
在unix系統下,應用程式崩潰,一般會產生core檔案,如何根據core檔案查詢問題的所在,並做相應的分析和除錯,是非常重要的。什麼是core dump?core的意思是記憶體,dump的意思是扔出來,堆出來.開發和使用unix程式時,有時程式莫名其妙的down了,卻沒有任何的提示 有時候會提示co...
用gdb除錯coredump檔案
在unix系統下,應用程式崩潰,一般會產生core檔案,如何根據core檔案查詢問題的所在,並做相應的分析和除錯,是非常重要的。什麼是core dump?core的意思是記憶體,dump的意思是扔出來,堆出來.開 發和使用unix程式時,有時程式莫名其妙的down了,卻沒有任何的提示 有時候會提示c...