Linux下如何除錯coredump檔案

2021-07-28 09:33:18 字數 879 閱讀 8087

1、設定系統相關引數,否則不會產生coredump檔案。

echo "ulimit -c 1024" >> /etc/profile
設定完後,重新登入系統或者source /etc/profile,使生效。

2、編寫測試檔案,dump.cpp。

#include #include void crash()

int main()

3、編譯

g++ dump.cpp -o dump
4、生成coredump檔案

segmentation fault (core dumped)
5、除錯

gdb ./dump ./core,意思為./core檔案由./dump生成,並用gdb進行除錯。

編譯時如若未指定-g,輸出結果如下:

core was generated by `./dump'.

program terminated with signal sigsegv, segmentation fault.

#0 0x00000000004004e6 in crash() ()

(gdb)

core was generated by `./dump'.

program terminated with signal sigsegv, segmentation fault.

#0 0x00000000004004e6 in crash () at dump.cpp:6

6 str[0] = 'a';

(gdb)

linux下如何使用gdb除錯

gdb是linux下非常好用的乙個除錯工具,雖然它是命令列模式的除錯工具,但是它的功能強大到你無法想象,這裡簡單介紹下gdb下常用的命令。首先編譯生成可執行檔案 這裡的test.c是乙個簡單的求前n項和的程式 gcc g test.c o test g選項告訴gcc在編譯程式時加入除錯資訊 接下來可...

linux下如何用GDB除錯c 程式

gdb 是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc bcb等ide的除錯,但如果你是在 unix平台下做軟體,你會發現gdb這個除錯工具有比vc bcb的圖形化偵錯程式更強大的功能。所謂 寸有所長,尺有所短 就是這個道理。一般來說,gdb主...

linux下如何用GDB除錯c 程式

gdb 是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc bcb等ide的除錯,但如果你是在 unix平台下做軟體,你會發現gdb這個除錯工具有比vc bcb的圖形化偵錯程式更強大的功能。所謂 寸有所長,尺有所短 就是這個道理。一般來說,gdb主...