gdb 除錯段錯誤

2021-08-26 05:12:01 字數 456 閱讀 6800

利用執行時產生core檔案,再利用gdb除錯找出段錯誤在哪一行

ulimit  -c  unlimited
使用該bash命令,可以使執行時段錯誤產生core檔案。

1.gcc -g 編譯

gcc -g -o a a.c
2.執行檔案,便會產生乙個core.***檔案

./a
3. 除錯core檔案

gdb ./a core.***
便可以直接檢視出段錯誤出錯在哪一行

段錯誤錯誤的原因:

一般是錯誤地使用指標引起的

1)訪問系統資料區,尤其是往 系統保護的記憶體位址寫資料

最常見就是給乙個指標以0位址

2)記憶體越界(陣列越界,變數型別不一致等) 訪問到不屬於你的記憶體區域

gdb 除錯段錯誤

開發嵌入式linux的時候經常會遇到segmentation fault,也就是段異常錯誤,一般是使用錯誤的指標訪問記憶體導致。這種錯誤可以通過開啟核心的異常資訊輸出,再用gdb對發生段異常的位址進行定位。1.開啟核心的異常資訊輸出 mips的核心 關閉了arch mips mm fault.c的d...

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 變數名,檢...

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 變數名,檢...