我是靠谱客的博主 等待保温杯,最近开发中收集的这篇文章主要介绍[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博文的博主)

参考:

  1. 段错误 (核心已转储) 原因与解决方法:https://www.fujieace.com/c-c/segment-error-core-dumped.html
  2. 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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部