我是靠谱客的博主 等待保温杯,这篇文章主要介绍[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][报错记录]内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复