怎么用Fortran powerstation 4.0跟踪程序运行过程?

怎么用Fortran powerstation 4.0跟踪程序运行过程?,第1张

添加断点: 点右键,在d出菜单中选择“insert/remove Breakpoin”

使用debug: 选择“build" -> "debug" ->"step Into" 逐步执行程序

或者“build" -> "debug" -> "run to cursor" 运行程序到光标位置

这个错误是无法执行的数学计算,提示是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都是这么找出来的,关键是耐心和细心,不要怕浪费时间,一个程序调试的时间远远超过写程序的时间是很正常的,祝好运


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11579576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存