linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
**
什么是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
60000
Loaded: 0.170935 seconds
Segmentation fault (core dumped)
4、加载core文件,使用gdb工具进行调试:
yrs@HP-Z820-Workstation:~/YOLO/darknet-master$gdb ./darknet ./core
5、使用where命令查看函数调用情况
(gdb) where
#0 0x00007f15e52006dc in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#1 0x00007f15e52a436e in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#2 0x00007f15e536e5ef in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#3 0x00007f15e52a5791 in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#4 0x00007f15e51c8fca in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#5 0x00007f15e51caf2a in ?? () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#6 0x00007f15e5304f85 in cuMemcpyHtoD_v2 () from /usr/lib/x86_64-linux-gnu/libcuda.so.1
#7 0x00007f15f81eb42e in ?? () from /usr/local/cuda/lib64/libcudart.so.7.5
#8 0x00007f15f81cddb1 in ?? () from /usr/local/cuda/lib64/libcudart.so.7.5
#9 0x00007f15f81f19b8 in cudaMemcpy () from /usr/local/cuda/lib64/libcudart.so.7.5
#10 0x000000000040a68c in cuda_make_array ()
#11 0x000000000048a5f0 in forward_backward_network_gpu(network, float*, float*) ()
#12 0x000000000048a68f in train_network_datum_gpu ()
#13 0x000000000043c9fa in train_network ()
#14 0x000000000045ca79 in train_classifier ()
#15 0x0000000000460bea in run_classifier ()
#16 0x0000000000402d06 in main ()
6、使用q退出gdb
注:如果没有产生core文件,可能是ulimit设置的太小,尝试设置的大一些试试吧~
linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法相关推荐
- 嵌入式linux段错误,在嵌入式Linux上使用C Std Lib时出现异常的段错误
通过一些研究后我可以看到,vivado是硬件开发IDE [因为它们提供了一个试用期 – 所以它是硬件开发,他们总是想要收费]. 如果您使用的是Xilinx的标准SDK板,则应该预先配置所有内容.否则, ...
- linux java 段错误的是,Linux下的段错误产生的原因及调试方法 转
1楼 简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个 ...
- linux段错误(Segmentation fault)调试方式
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的.实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于 ...
- Ubuntu--(8)段错误Segmentation fault (core dumped)
段错误 指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况,例如: 访问不存在的内存地址 #include<st ...
- 【Linux】调试常见的应用程序奔溃“Segmentation fault (core dumped)”
文章目录 前言 一.确保产生core文件 二.利用core文件,调试确认terminated位置 前言 Linux程序开发者,日常遇到程序奔溃时,应该如何调试,如何寻找原因和解决呢?本文就介绍了遇到S ...
- Linux 段错误详解
1 背景 笔者早年写过一篇:<可恶的"Segmentation faults"之初级总结篇>,网络转载甚多.多年下来,关于段错误的讨论依旧很热烈,该问题也还是很常见.所 ...
- 【ARM】程序快速定位segmentation fault core dumped错误
1.应用场景 ARM开发过程中经常进程运行着出现段错误,这时候单纯靠加日志打log效率太低.使用gdb的话,由于APP进程太多,生成的core的文件特别大,而且gdb在arm板子也不好单步调试,不太友 ...
- Linux段错误-转
Linux段错误 目录 1.什么是段错误? 2.为什么段错误这么"麻烦"? 3.编程中通常碰到段错误的地方有哪些? 4.如何发现程序中的段错误并处理掉? 正文 1.什么是段错误? ...
- 几种Linux段错误调试方法
一.产生段错误的原因 段错误就是指某一进程访问了不属于它权限范围的内存空间,比如:访问了不存在的内存,访问了受系统保护的内存,访问了只读的内存等.下面是一段会产生段错误的实例代码:main.c #in ...
最新文章
- openSUSE中文输入的安装和设置
- 三次握手和四次挥手详细介绍
- @Value@PropertySource@ConfigurationProperties注解使用
- 《机器学习实战》-线性回归
- 后端技术:SpringBoot 中实现跨域的5种方式
- Quartz定时任务的基本搭建
- windows server 2008 r2 定时关机_电脑怎么定时关机 秒懂的Win10定时关机命令使用方法...
- 钉钉开放平台:内网穿透工具 - 服务器免费打造教程
- 区块链技术学习之-简单加密货币-高飞币
- 电子商务数据运营的五大应用
- 僵尸粉检测 php,微信新功能,一键检测你的手机卡不卡,还能查僵尸粉
- ORACLE有EXCEL中trend函数,EXCEL【TREND】函数,你知道如何使用吗?
- windows10序列号即将过期解决办法
- 使用Java解牛客网六一儿童节
- Hot and cold pages
- 2021.4.14 html学习第二天
- Chrome打开摄像头权限
- 【软件下载】换新电脑记录下下载的软件时所需地址
- pandas学习笔记1—categories与set_categories
- 怎么才能写出好的代码
热门文章
- mysql 重做日志_mysql redo log 重做日志
- python爬取58同城租房信息,用selenium爬取58同城租房信息(万级数据)
- 《中国企业家》杂志:柳传志走访旧金山
- app式成语_app式的词语,app的成语都有什么?
- mac 剪切移动文件
- Fiddler调式使用(一)深入研究[转载]
- java 孕周计算器_周期表孕期计算器
- 读书笔记:《吴军阅读与写作讲义》
- 解密阿里云大规模深度学习性能优化实践
- 逆水寒服务器怎么全维护,《逆水寒》2020年1月22日更新公告