Quoted from Robert
/full_debug on the compiler command-line includes parameters
Robert, Great, though i'd strongly feel that parameters should always be visible in debugger
When reading error occurs you usually painfully catch the bad line where it took place. Reading in Fortran is always painful due to its numerous options. And if the file is huge - this is a pure hell. With go back Shift+F7 feature it would be found in no time. You just put debugger stop on line with label 100 and when error occurs you just push Shift+F7 and debugger gets one step back on that offending READ before it jumped to label 100 ! No other debugger has this !
Is this because you have many read statement that could go to label 100?
Yes, there is often very painful to make numerous error messages for each of hundreds of complex READ statements of hundreds different large files. You immediately go into panic mode because you know to find error will be a hell. To simplify this i made the line counter like this
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,'(13x,i4,16x,e10.3)',err=100) K_M...
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,'(8x,i4, 21x,e10.3, 14x,a)',err=2430) Key_pro...
24310 lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,162,err=100) IPAKET, KEYTI...
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,80862,err=100) Activ_par, cALF...
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,...
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
READ(1,...
lineI_I = lineI_I + 1;if(kPSc.eq.1)print*,'Line=',lineI_I
...................
...................
and when reading error occurs the file is loaded into special visualization window in %eb-like editor and the offending line is highlighted - all that because it is really THAT hard to find the line where error takes place
But i am sure Back-F7 feature could find other nice usages for debugging. If it is possible to implement it of course. For example it is sometimes painful to load the entire program again and wait and click and jump for the error to occur again. But with Back-F7 feature that would be in no time: you just make one step back to the statement before the error occured. You then see immediately what were conditions which led to the error - THIS WOULD BE TRULY SUPERB FEATURE, no other compilers probably ever had or even thought about this