我是靠谱客的博主 等待保温杯,最近开发中收集的这篇文章主要介绍[Linux][报错记录] 段错误(核心已转储)| Process finished with exit code 139,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
记录一下,遇到的问题:
在服务器上(环境Linux)运行代码,出现段错误(核心已转储)
错误。
在Pycharm直接运行艾玛(环境Linux),出现Process finished with exit code 139
错误。
找了好几个博客,都是说,段错误是内存访问越界,主要是下述三个原因:
1、内存访问出错
这类问题的典型代表就是数组越界。
2、非法内存访问
出现这类问题主要是程序试图访问内核段内存而产生的错误。
3、栈溢出
Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new操作申请的变量在堆中,其他变量一般在存储在栈中。 因此如果你数组开的过大变会出现这种问题。
其中3尝试:
ulimit -a
ulimit -c 102400
无效。
直到按照参考2的博文所说的,直接重新创建虚拟环境后,一切正常……估计是虚拟环境出问题了。重装,解决一切疑难杂症……(感谢参考2博文的博主)
参考:
- 段错误 (核心已转储) 原因与解决方法:https://www.fujieace.com/c-c/segment-error-core-dumped.html
- Process finished with exit code 139 (interrupted by signal 11: SIGSEGV):https://blog.csdn.net/croari/article/details/113065573
最后
以上就是等待保温杯为你收集整理的[Linux][报错记录] 段错误(核心已转储)| Process finished with exit code 139的全部内容,希望文章能够帮你解决[Linux][报错记录] 段错误(核心已转储)| Process finished with exit code 139所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复