抱歉,新電腦剛裝了一個googlepinyin,居然是繁體字,難得該了,大家湊合看吧
運行程序時遇到這個段錯誤,在網上搜索,有很多相關文章教查看core文件來查看錯誤。但是我仿照他們去調試時發現根本找不到core文件,經過多方查閱,最後發現,是因爲core有一個默認路徑,不會出現當前的bug路徑。總結如下:
1. core 文件大小默認爲0,所以需要先改變文件大小:
1.1 輸入命令 ulimit -a 查看,可以看到:
core file size (blocks, -c) 0
1.2 設置core大小:輸入命令 ulimit -c 1024 ,然後ulimit -a 查看,可以看到:
core file size (blocks, -c) 1024
即設置成功。
2. 查看core默認生成路徑:查看core_pattern文件(/proc/sys/kernel/core_pattern )
在修改前,執行ll命令,並沒有core文件,執行下面命令讓core文件生成在當前目錄:
sudo bash -c "echo core > /proc/sys/kernel/core_pattern "
3.利用gdb调试:gdb corefile <core文件名> ,如:
gdb corefile core
4.提示:使用gdb直接調試程序,記得該編譯類型爲debug模式,不然調試不出來
cmake -DCMAKE_BUILD_TYPE=Debug ..
參考: