在 Visual Studio 中调试 Intel Fortran 时“没有可用的源”

`No Source available` when debugging Intel Fortran in Visual Studio

我正在 Microsoft Visual Studio 2012+Intel Visual Fortran 上调试以下 Fortran 代码:

program customarray

implicit none
real, allocatable, dimension(:):: vector
integer :: nelements, i
real :: sum

print *, 'enter how many values you have'
read *, nelements
allocate(vector(nelements))
print *, 'enter the values'
sum = 0.0

do i=1,nelements
    read *, vector(i)
    sum = sum+vector(i)
end do
    
end program customarray

当我使用调试器“单步执行”工具逐步执行代码时。一切都按预期运行。但是,一旦我到达最后一行

end program customarray

我得到以下对话框:

我不明白为什么会出现此错误。我很沮丧,因为当我“运行 没有调试”并且没有显示相同的错误时它运行顺利。

end programStep Into 之后,您正在输入编译器生成的代码以完成程序 运行 和 return 到 Windows。

Step Into 将进入程序执行的任何函数,甚至是内部库(对于 Fortran 的设置可能略有不同)。参见 "Step Over" and "Step Into" in Visual Studio

使用 Step OverStep Out 你应该可以跳过这个完成的内部代码,但是使用 Step Into 你要求调试器带你去那里。

当然,该地区没有可用的源代码,因为在那里执行的代码不是您的用户代码。它可能是也可能不是编译的 C 代码,甚至是编译器直接插入其中的部分机器代码。

program 开头可能会发生类似的行为。您还可以在准备环境时输入程序执行的过程,以便能够执行您的代码。如果您只想调试您的代码,请从与您的可执行语句相对应的行开始调试。