计算化学公社

 找回密码 Forget password
 注册 Register
Views: 11929|回复 Reply: 3
打印 Print 上一主题 Last thread 下一主题 Next thread

[Fortran] 问问SIGSEGV, segmentation fault occurred是什么错误

[复制链接 Copy URL]

257

帖子

4

威望

4967

eV
积分
5304

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
自己写的程序,之前一直好好的,但最近经常报forrtl: severe (174): SIGSEGV, segmentation fault occurred错误。查了一下有说是数组越界了,但我的程序在跑某些任务时不会报错,而跑某些认为会报错,而可能越界的数组在这些任务都会出现,感觉不太说的过去。所以想问问这个报错是什么,怎么解决?
贫困U 退学与疯子工程学院

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

2#
发表于 Post on 2020-10-4 10:59:35 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-10-4 11:00 编辑

这个报错可能是任何原因,没啥卵用。所以还是加上
对于ifort:-traceback -CB
对于gfortran: -fbacktrace
看看编译器提示哪个代码文件的哪一行报错。

对于数组越界的检查,保险的方法是在适当的地方,写点检验下标范围是否超出界限的代码,有的话立即报错终止。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wxhwbh + 3 谢谢

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

224

帖子

5

威望

4548

eV
积分
4872

Level 6 (一方通行)

3#
发表于 Post on 2020-10-5 02:17:27 | 只看该作者 Only view this author
segmentation fault的可能性太多了,不见得一定是数组越界。建议搞个valgrind分析一下,看看问题在哪
我需要一些假日,但我不希望每天都是假日。因为我没有承担痛苦,因为那不是真正的自由。

257

帖子

4

威望

4967

eV
积分
5304

Level 6 (一方通行)

4#
 楼主 Author| 发表于 Post on 2020-10-5 13:32:52 | 只看该作者 Only view this author
ene 发表于 2020-10-5 02:17
segmentation fault的可能性太多了,不见得一定是数组越界。建议搞个valgrind分析一下,看看问题在哪

谢谢,已经找到bug。不是数组越界了。而是访问了一个未声明大小的数组。
贫困U 退学与疯子工程学院

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 18:37 , Processed in 0.945248 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list