Viewing the contents of a floating-point register

[OS/2]WindowsRestriction: This section applies to programs running on Intel processors only (OS/2 and Windows).

ngjava.gif (225 bytes)Register information is not available when debugging interpreted Java programs. It is available when debugging High Performance Compiled (HPC) Java programs.

If you are debugging an Intel-based application and you step over a source line containing floating-point arithmetic, you may find that the values of floating-point registers in the Registers pane are not displayed. Instead, "Not used" appears beside each register. In fact, one or more of these registers is being used during execution of the source line, but once you have stepped over the source line, the register's contents have been written to a variable and the register is no longer in use. If you want to step over a floating-point statement and see a floating-point register's value before it is written to the variable, do the following:

  1. Change from source view to mixed view (select Source > Mixed View).
  2. Locate the source line containing the floating-point instructions. Look for a disassembly instruction between this source line and the next that contains a floating-point store instruction (for example FSTP), and place a breakpoint on that line.
  3. Change back to source view.
  4. Now when you step over the source line containing the floating-point arithmetic, you must issue two Step Over commands for the line instead of one (because the first Step Over command stops at the breakpoint you set in the mixed view). After the second Step Over command, you should see the value of the floating point register as it was before it was stored.

Related Tasks
Changing the contents of a register