我在研究实验室中使用了一些非常古老的Fortran代码,并且在很大程度上依赖DDD来测试新的代码和子例程。直到6个月前,我能够生成核心转储并逐步完成代码而不用大惊小怪。现在,每当DDD遇到延续线或"&"时,指向执行线的绿色箭头跳回到子程序I当前所在的行开始的位置。这很烦人,因为我必须回过头来看看代码落在哪里,尽管我使用"撤消"在DDD中运行以查看我的位置。我不知道它是我的代码还是已经改变的调试器
我想知道是否有其他人遇到过这种行为,是否有办法阻止执行线在"&"之间跳跃。和SUBROUTINE线?这也破坏了我的核心文件,这也只是指向SUBROUTINE线。
我已经添加了子例程声明的代码片段以及调试器绿色箭头在延续行和子例程声明之间跳转的代码部分。
SUBROUTINE SOFC_A42_coeffgen(IPCOMP,COUT,ISTATS)
IMPLICIT NONE
~~~~~~~~宣言和一串代码~~~~~~~~
IF( P_battery > P_fully_discharge )
& P_battery = P_fully_discharge
C---------Determine SOC at end of time-step.
battery_SOC_f = ( battery_SOC_p*battery_capacity
& - P_battery*TIMSEC/battery_discharge_eff
& ) / battery_capacity
C---------Determine heat generated due to discharging losses.
q_battery_loss = P_battery * (1. - battery_discharge_eff)