[报错记录] 段错误(核心已转储)| Process finished with exit code 139

[报错记录] 段错误(核心已转储)| Process finished with exit code 139,第1张

记录一下,遇到的问题:
在服务器上(环境Linux)运行代码,出现段错误(核心已转储)错误。
在Pycharm直接运行艾玛(环境Linux),出现Process finished with exit code 139错误。

找了好几个博客,都是说,段错误是内存访问越界,主要是下述三个原因:
1、内存访问出错
这类问题的典型代表就是数组越界。

2、非法内存访问
出现这类问题主要是程序试图访问内核段内存而产生的错误。

3、栈溢出
Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new *** 作申请的变量在堆中,其他变量一般在存储在栈中。 因此如果你数组开的过大变会出现这种问题。

其中3尝试:

ulimit -a
ulimit -c 102400

无效。

直到按照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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/793128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存