错误信息
double free or corruption (out): 0x00000000011abe70 ***
问题分析
基本上根据题目判定,类型没得跑,内存问题。
所以会有几种情况:
1. 内存重复释放,看程序中是否释放了两次空间(一般不会是这种情况,毕竟。。太明显)
2. 内存越界。(大部分是这种情况,如果你使用了数组,或者开辟了空间,但是在循环的时候越界了,就会出现这种情况)
---------------------
作者:桥路丶
来源:CSDN
原文:https://blog.csdn.net/qq_33876553/article/details/79609321
版权声明:本文为博主原创文章,转载请附上博文链接!
该问题还有可能是动态数组未初始化引起的,或者指针free之后没有变成NULL状态,此外在大规模并行时容易出现上述问题,此时需要细心检查deallocate或者allocate是否重复调用
问题解决
对于gfortran 或 mpif90编译器 在编译时添加边界检查选项 -fbounds-check 运行之后会提示数组溢界的详细信息,示例如下: