在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 以...