Segmentation fault (core dumped)

抱歉,新電腦剛裝了一個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 ..

參考:

core路徑

gdb core

直接gdb

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值