Microsoft KB Archive/106531
Article ID: 106531
Article Last Modified on 10/2/2003
- Microsoft FORTRAN PowerStation 1.0 Standard Edition
- Microsoft Fortran PowerStation 1.0a for MS-DOS
This article was previously published under Q106531
Modifying character variables with the debugger may not be possible and may result in garbage in the string or cause a general protection (GP) fault. At times, no variable of any type can be modified in the Watch window.
Do not attempt to modify the value of a character variable from the debugger.
If the Watch window does not allow modification or removal of a variable, switch the focus to the Source or Locals window, and then switch the focus back to the Watch window.
In addition, avoid the following with the Watch window:
- Making a large number of changes in the Watch window (it may eventually GP fault).
- Clicking in the Watch window after the program completes execution (it may GP fault).
- Using an equal sign (=) in a watch expression because it is interpreted as a C operator.
Microsoft has confirmed this to be a problem in FORTRAN PowerStation versions 1.0 and 1.0a for MS-DOS.
This is not a problem in FORTRAN PowerStation 32.
Before attempting to duplicate these problems, be sure to start the Visual Workbench with the /v option so that it will be possible to terminate the WINTEE session after a GP fault.
The following sequence of steps demonstrate many of the problems with modifying variables while debugging:
From the Visual Workbench, build the following sample program with the project in debug mode:
character*10 a integer i a='String' i=5 print *, a,i end
- Debug the application after opening the Watch and Locals windows (from the Windows menu, choose Locals and Watch).
- Single step through the program (press F8) until the print statement.
- In the Watch window type, an i, press the DOWN ARROW key, then type an "a" (without the quotation marks), and then press the UP ARROW key.
- Change the value of i from 5 to 6, and press the DOWN ARROW key; the Locals window now shows i = 6.
- Attempt to change the string a. Press the UP ARROW key and try to change i from 6 to 7.
- If you are unsuccessful, click the Locals window to change focus, and then reclick the Watch window.
- Now the debugger will allow you to change the 6 to a 7.
- In the Source code window, select the a variable, and press SHIFT+F9.
- Choose the Modify button and type abcd.
- If you press the ENTER key now, you may get a GP fault.
Additional query words: nofpsnt 1.00 1.00a GPF gp-fault