Segmentation fault (core dumped)
core 指該程序運行時,進程空間的內存分布
dumped 表示內核已經把core拋出
通常,出現段錯誤提示時程序運行目錄下應該自動生成一個core文件用來存儲內核拋出的core,但是,由於linux環境一般默認設置core文件限制為0,所以一般情況下無法生成core文件。
ulimit -c
ulimit -c unlimited
![]()
這樣設置之后,若發生段錯誤就會有core文件生成了。
使用 -g 選項編譯程序后,運行程序得到core文件,配合gdb就可以找到段錯誤的位置了
gdb a.out core
![]()
經過上圖所示步驟,可以輕易得到段錯誤發生在 test.c 文件的第 5 行(位於test函數下,被main函數調用)
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。