linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法

本文介绍了Linux系统中遇到Segmentation fault (core dumped)错误时如何进行调试。通过查看系统core文件大小限制,调整ulimit设置以生成core文件,然后利用gdb工具加载core文件进行调试图解错。
摘要由CSDN通过智能技术生成

**

什么是Segmentation fault?

**

Segmentation fault就是段错误,一般指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。

什么是core dumped

操作系统把程序当掉时的内存内容 dump 出来(现在通常是写在一个叫 core 的 file 里面),让 我们或是 debugger 做为参考。这个动作就叫作 core dump。

使用core文件和gdb进行调试

1、在一些Linux版本下,默认是不产生core文件的,首先可以查看一下系统core文件的大小限制:

yrs@HP-Z820-Workstation:~/YOLO/darknet-master$ulimit -c

0

2、可以看到默认设置情况下,本机Linux环境下发生段错误时不会自动生成core文件,下面设置下core文件的大小限制(单位为KB):

yrs@HP-Z820-Workstation:~/YOLO/darknet-master$ulimit -c 1024

yrs@HP-Z820-Workstation:~/YOLO/darknet-master$ulimit -c

1024

3、运行程序,发生段错误生成core文件:

yrs@HP-Z820-Workstation:~/YOLO/darknet-master$./darknet classifier train cfg/mnist.data cfg/mnist.cfg

Learning Rate: 0.1, Momentum: 0.9, Decay: 0.0005

6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值