gdb除錯經驗(1)

2021-07-01 18:32:24 字數 412 閱讀 7763

在linux下編寫c++並且執行程式時,經常會出現segmentation fault (core dumped),程式執行崩潰的情況。但是一般情況下都不會顯示在**出錯,而有時候一步一步除錯又很麻煩。

在vs2012下知道可以使用alt+7鍵來檢視導致錯誤的函式棧,從而知道究竟是哪個函式出現了問題。

在linux下遇到這個問題的時候是不知道怎麼解決的,只能檢視**,後來知道gdb除錯也有類似的功能,只需要在編譯的時候增加-g選項:

g++ -g -o *** ***.cpp

然後以此使用下面的命令啟動gdb偵錯程式除錯程式:

gdb ***

r當程式出錯顯示segmentation fault (core dumped)時,輸入 where 命令,gdb偵錯程式便會顯示出錯的函式棧了,然後就可以根據函式棧去解決問題了。

gdb除錯初學 1

菜鳥在寫c程式的時候最害怕就是遇到segmentation fault core dumped 遇到段錯誤可以嘗試從gdb除錯來分析core檔案從而定位問題 然而,預設情況下是不生成core檔案的,至少在我的ubuntu上,可執行程式的路徑下就沒有生成core file。檢視ulimit a 得到如...

gdb除錯 基礎(1)

前言gdb除錯不同於介面化的除錯,雖然命令非常簡單,但上手比較有難度。對於從沒使用過gdb的人來說,可以考慮裝乙個python外掛程式 gef 當然也可以不裝,只是為了方便顯示除錯資訊而已。會使用gdb的可以直接跳到後面閱讀 附有gdb操作命令 外掛程式安裝步驟 以普通使用者身份,進入使用者目錄 c...

gdb多執行緒除錯1

gdb對於多執行緒程式的除錯有如下的支援 執行緒產生通知 在產生新的執行緒時,gdb會給出提示資訊 gdb r starting program root thread new thread 1073951360 lwp 12900 new thread 1082342592 lwp 12907 以...