gpt4 book ai didi

fortran - 英特尔Fortran--检查界限不提供行号

转载 作者:行者123 更新时间:2023-12-04 07:55:50 25 4
gpt4 key购买 nike

我在mpi环境中使用intel fortran编译器(ifort)。事实证明,当我使用-g -O2 -check bounds标志进行编译时,我的代码有一个缓冲区溢出。运行一段时间后,我收到以下消息:

forrtl: severe (408): fort: (2): Subscript #1 of the array XX has value 4 which is greater than the upper bound of 3

Image PC Routine Line Source
program.exe 00000000006E757E Unknown Unknown Unknown
program.exe 00000000006E6016 Unknown Unknown Unknown
program.exe 00000000006905B2 Unknown Unknown Unknown
program.exe 0000000000642E6B Unknown Unknown Unknown
program.exe 0000000000643381 Unknown Unknown Unknown
program.exe 00000000005F33FB Unknown Unknown Unknown
program.exe 00000000004139E7 Unknown Unknown Unknown
program.exe 000000000040A6B4 Unknown Unknown Unknown
program.exe 0000000000409D2C Unknown Unknown Unknown
libc.so.6 000000380D61ECDD Unknown Unknown Unknown
program.exe 0000000000409C29 Unknown Unknown Unknown

太好了-我现在知道我超出了 XX,但是在哪里?使用 gfortran-fbounds-check会给我一个文件和行号。有什么办法可以用 ifort做到这一点?

最佳答案

-traceback标志可以与Intel和Portland Group Fortran编译器一起使用,以请求在目标文件中生成其他信息以进行行和源回溯。如果在运行时发生严重错误,程序将尝试报告发生错误的行号和源文件,以及进行调用的父过程的行号和源文件。

gfortran的等效标志是-fbacktrace

关于fortran - 英特尔Fortran--检查界限不提供行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com