fortran - forrtl : severe (157): Program Exception - access violation

标签 fortran

我正在使用“thrgibbs1f90b”BLUPF90 系列程序之一,它基于“fortran”并用于吉布斯采样来估计二进制数据的方差分量。每次尝试运行 thrgibbs1f90b 时,都会收到以下错误消息:

forrtl: 严重 (157): 程序异常 - 访问冲突

Image               PC                Routine            Line        Source

thrgibbs1f90b.exe    0000000140021961    Unknown    Unknown    Unknown
thrgibbs1f90b.exe    000000014000BB5B    Unknown    Unknown    Unknown
thrgibbs1f90b.exe    000000014026B41C    Unknown    Unknown    Unknown
thrgibbs1f90b.exe    000000014024F4E3    Unknown    Unknown    Unknown
kernel32.dll         0000000076E2652D    Unknown    Unknown    Unknown
ntdll.dll            0000000076F5C521    Unknown    Unknown    Unknown

知道为什么我会收到这条消息吗?

谢谢!

最佳答案

两个有根据的猜测

  • 程序试图读取或写入不存在的数组元素,例如 25 元素数组的第 26 个元素。
  • 为过程指定的虚拟参数与过程调用中的实际参数不匹配;例如,当需要一个 8 字节的值时传递一个 4 字节的实数值(反之亦然)

  • 其中任何一个都可能导致尝试访问程序进程无权访问的内存位置。还有许多其他可能的原因,但根据我的经验,这些是 Fortran 程序中最常见的错误,它们会导致此类错误消息。

    这两个都很容易发现,您需要(重新)编译您的程序并设置编译器选项以检查这些条件

    关于fortran - forrtl : severe (157): Program Exception - access violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391267/

    相关文章:

    formatting - 取决于变量的输出格式字符串

    vim 使用配色方案文件向语法关键字添加新元素?

    C 程序拒绝管道?

    c++ - c_f_pointer 不起作用

    fortran - 如何在 Sublime Text 2 中为 Fortran 90 获得正确的文本颜色突出显示?

    c# - Fortran 函数说明

    macos - 关闭 6 核 Intel Xeon 中的超线程

    arrays - 为 Fortran 数组操作指定冒号

    function - 在 Fortran 90 中计算两个向量的叉积

    fortran - gfortran -std=f2008 如果调用 fseek 存在则编译标志错误