记录一下,遇到的问题:
在服务器上(环境Linux)运行代码,出现段错误(核心已转储)
错误。
在Pycharm直接运行艾玛(环境Linux),出现Process finished with exit code 139
错误。
找了好几个博客,都是说,段错误是内存访问越界,主要是下述三个原因:
1、内存访问出错
这类问题的典型代表就是数组越界。
2、非法内存访问
出现这类问题主要是程序试图访问内核段内存而产生的错误。
3、栈溢出
Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new *** 作申请的变量在堆中,其他变量一般在存储在栈中。 因此如果你数组开的过大变会出现这种问题。
其中3尝试:
ulimit -a
ulimit -c 102400
无效。
直到按照2所说的,直接重新创建虚拟环境后,一切正常……估计是虚拟环境出问题了。重装,解决一切疑难杂症……
参考:
- 段错误 (核心已转储) 原因与解决方法:https://www.fujieace.com/c-c/segment-error-core-dumped.html
- Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)