Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/debugging/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 编译fortran.f95文件有困难,如何调试?_Debugging_Fortran_Gfortran - Fatal编程技术网

Debugging 编译fortran.f95文件有困难,如何调试?

Debugging 编译fortran.f95文件有困难,如何调试?,debugging,fortran,gfortran,Debugging,Fortran,Gfortran,我正在努力学习fortran。我想在论文中复制某一步骤,但我遇到了麻烦 我编译了文件AERsimulation.f95(我在gfortran中打开了所有调试函数),我可以生成一个没有任何错误的.out文件(但是有很多警告…) 当我试图运行.out文件时,收到了错误消息 Fortran运行时错误:数组“k”的维度1的索引“0”低于1的下限 现在,我很难理解为什么会发生这种情况。我想,我的问题是,是否有更好的调试方法,这样我就可以看到并点击代码“live”,并查看错误发生的原因。(例如,我想到的是m

我正在努力学习fortran。我想在论文中复制某一步骤,但我遇到了麻烦

我编译了文件AERsimulation.f95(我在gfortran中打开了所有调试函数),我可以生成一个没有任何错误的.out文件(但是有很多警告…)

当我试图运行.out文件时,收到了错误消息

Fortran运行时错误:数组“k”的维度1的索引“0”低于1的下限

现在,我很难理解为什么会发生这种情况。我想,我的问题是,是否有更好的调试方法,这样我就可以看到并点击代码“live”,并查看错误发生的原因。(例如,我想到的是matlab调试器…)

欢迎提出任何建议/暗示

我使用的文件是

多谢各位 最好的
Derrick

错误消息的含义是您试图访问数组位置0处的数组元素。Fortran中的数组默认从1开始

如果您正在寻找更好的调试方法,请尝试gdb(命令行),或者如果您更喜欢图形界面,可以尝试Netbeans IDE。它(有限)支持Fortran a调试模式,在该模式下,您可以逐行单击代码并查看所有变量的值,等等

在命令行上尝试:

gdb name_of_executable
run

调试器将在导致错误的行停止

通常,gfortran还会打印发生错误的行号。您可以使用一些好的文本编辑器在源代码中为您指明方向(我使用的是
kate
,但大多数情况下,我还是手动转到正确的位置)。确保使用
gfortran-g-fbacktrace-fcheck=all-Wall
。顺便说一句,不要对任何自由格式的源代码使用
.f95
,只使用
.f90
。我想您不希望在从f03或f08添加功能后重命名文件。