计算化学公社
标题:
问问SIGSEGV, segmentation fault occurred是什么错误
[打印本页]
作者Author:
wxhwbh
时间:
2020-10-4 10:55
标题:
问问SIGSEGV, segmentation fault occurred是什么错误
自己写的程序,之前一直好好的,但最近经常报forrtl: severe (174): SIGSEGV, segmentation fault occurred错误。查了一下有说是数组越界了,但我的程序在跑某些任务时不会报错,而跑某些认为会报错,而可能越界的数组在这些任务都会出现,感觉不太说的过去。所以想问问这个报错是什么,怎么解决?
作者Author:
zjxitcc
时间:
2020-10-4 10:59
本帖最后由 zjxitcc 于 2020-10-4 11:00 编辑
这个报错可能是任何原因,没啥卵用。所以还是加上
对于ifort:-traceback -CB
对于gfortran: -fbacktrace
看看编译器提示哪个代码文件的哪一行报错。
对于数组越界的检查,保险的方法是在适当的地方,写点检验下标范围是否超出界限的代码,有的话立即报错终止。
作者Author:
ene
时间:
2020-10-5 02:17
segmentation fault的可能性太多了,不见得一定是数组越界。建议搞个valgrind分析一下,看看问题在哪
作者Author:
wxhwbh
时间:
2020-10-5 13:32
ene 发表于 2020-10-5 02:17
segmentation fault的可能性太多了,不见得一定是数组越界。建议搞个valgrind分析一下,看看问题在哪
谢谢,已经找到bug。不是数组越界了。而是访问了一个未声明大小的数组。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3