fortran调试过程中 出现这样的错误
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 13:15:00
fortran调试过程中 出现这样的错误
这个错误是无法执行的数学计算,提示是sqrt,也就是说无法开方,可能原因是需要开方的数是一个负数,或者无限大的正数或无限小的负数,由于fortran并不会说当出现无限大或无限小的数就报错,所以可能在执行到这一步之前数已经出错了,这一错误不属于语法错误而属于逻辑错误,需要耐心调试,说说我调试的一些常用技巧:
1.首先要找到程序出错的地方,因为程序提示sqrt计算出错,所以你可以在程序里面搜一搜哪里使用了开方运算,然后在这之前和之后设置一些记号,例如
write(*,*) 'aaa'
write(*,*) 'bbb'
等等,根据这些输出是否执行来判断程序执行到哪一步出错
2.跟踪变量的值的变化,比方说你检测到变量x的值变成了负数或者无穷大,那么你就在程序的不同位置输出x的值,最好记录在文件中方便检查
open(5,file='debug.txt')
write(5,*) x
...!代码
write(5,*) x
...!代码
有些编译器,诸如matlab,intel fortran有提供比较方便的办法跟踪变量的值,但是思路是一样的
说白了就这么两招,但一般的bug都是这么找出来的,关键是耐心和细心,不要怕浪费时间,一个程序调试的时间远远超过写程序的时间是很正常的,祝好运
1.首先要找到程序出错的地方,因为程序提示sqrt计算出错,所以你可以在程序里面搜一搜哪里使用了开方运算,然后在这之前和之后设置一些记号,例如
write(*,*) 'aaa'
write(*,*) 'bbb'
等等,根据这些输出是否执行来判断程序执行到哪一步出错
2.跟踪变量的值的变化,比方说你检测到变量x的值变成了负数或者无穷大,那么你就在程序的不同位置输出x的值,最好记录在文件中方便检查
open(5,file='debug.txt')
write(5,*) x
...!代码
write(5,*) x
...!代码
有些编译器,诸如matlab,intel fortran有提供比较方便的办法跟踪变量的值,但是思路是一样的
说白了就这么两招,但一般的bug都是这么找出来的,关键是耐心和细心,不要怕浪费时间,一个程序调试的时间远远超过写程序的时间是很正常的,祝好运
fortran调试过程中 出现这样的错误
安装Abaqus 6.13.1 过程中出现这样的错误是因为什么?应该怎样解决?
求:在英译中过程中易出现的错误
您好!我是刚学FORTRAN 90语言,好多不懂!今天刚输入一个非常简单的题目,出现错误!
英语翻译每编辑一个程序,都先调试,但调试是会出现英文错误提示,请那为高人把容易出现的错误英文警告翻译下.
这是我用fortran语言编程中,出现的一个问题,
其解答过程出现多处逻辑错误,教学生找错误。有没有这样的题和解答过程呢?
fortran程序出现错误,错误 1 error #5082:Syntax error,found IDENTIFIER
fortran 中,
社会主义建设过程中出现的严重的左倾错误3个是什么?
Fortran 程序错误
extjs调试时总是出现ext-all-debug.js中el isnull而中断调试?