Linux 程式設計 如何除錯GCC段錯誤 轉

2021-07-09 11:50:35 字數 427 閱讀 9374

編譯gcc時加上 –enable-checking。同時使用-g和-o0選項,使得編譯出的二進位制程式可以使用gdb除錯。

編譯測試用例時加上-v -da -q。

然後使用gdb獲得呼叫棧資訊:

bash$ gdb cc1

gdb> run arguments (cc1 將會在段錯誤出現時停止執行)

gdb> where

gdb> list

顯示感興趣的變數資訊,比如引起段錯誤的變數。可以使用在gdbinit.in中的pt和pr巨集來顯示gcc資料。例如,有乙個tree型別值t,還有乙個rtx型別值r,可以使用下面的命令:

gdb>source .gdbinit

gdb>print r

gdb>pt

gdb>print r

gdb>pr

gdb>pt

Linux段錯誤除錯

1.單步除錯 編譯時加上 g,然後用gdb除錯,自然就知道出現段錯誤的地方在哪。2.利用core檔案來進行除錯 用ulimit c來檢視core檔案的最大值,如果是0就不會產生core檔案。此時可用ulimit c 1000將core檔案的最大值設定為1000k。ulimit c 1000只會影響當...

linux下gcc程式設計02 gdb除錯工具使用

一。gdb除錯工具簡介 gdb gnu debugger 是gcc的除錯工具。其功能強大,現描述如下 gdb主要幫忙你完成下面四個方面的功能 1.啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。2.可讓被除錯的程式在你所指定的調置的斷點處停住。斷點可以是條件表示式 3.當程式被停住時,可以...

如何用gdb除錯段錯誤

一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...