我写了一个代码,其主要结构如下
program main
use modules ...
implicit none
do i = 1, N_trials
call some_function()
end do
end program main
在循环内部,some_function
被调用,它们在不同的步骤i
之间是独立的。编译这些源文件时没有segmentation fault
,并且没有关于堆栈大小的问题,因为我将ulimit -s
设置为unlimited
。然而,在循环过程中发生分段错误并且它似乎是随机的。例如,有时它会在i
变为3时发生,但有时当i
变为5或其他数字时。发生segmentation fault
之前的输出是正常的。我想知道为什么以及如何找到/识别此类错误的一些建议。