Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29376 Discussions

debugger Watch numeric values in IVF 11.1.046

brent_griffith1
Beginner
855 Views
I recently upgraded to 11.1.046 (integrated into VS2008) and now the debugger Watch values are no longer displayed as simple real numbers. they look like hex values whereas previously they were floats. Is this a bug in the debugger or is there a way to control the type of value displayed?
0 Kudos
5 Replies
Steven_L_Intel1
Employee
855 Views

There's a "display as hexadecimal" toggle that you can switch on or off. Right click in the watch window and you should see it.
0 Kudos
abhimodak
New Contributor I
855 Views

I have also noticed that the real numbers appear with D instead of E in the debugger watch window (i.e. 1.0D+01 instead of 1.0E+01). Is that by design? I am declaring the real numbers as Real(myFloatingKind) where myFloatingKind is an integer parameter = kind(1.0d0).

I think it started to happen with 11.1.0x; I don't recall the exact version. Or may be I changed some setting?

Since "the array-visualizer does not work on WinXP64", I copy the array values to Excel. Since the numbers now contain D, I need to do a global replace.

Abhi
0 Kudos
Steven_L_Intel1
Employee
855 Views
I see E for single precision and D for double precision when I try it. I have suggested to the debug developer that E would be appropriate in all cases.
0 Kudos
Andrew_Smith
Valued Contributor I
855 Views
I see E for single precision and D for double precision when I try it. I have suggested to the debug developer that E would be appropriate in all cases.

Having D is useful since if you copy and paste a number from one variable to another in the watch window, you need D to obtain double precision, otherwise the number gets trucated to single precision.

0 Kudos
IanH
Honored Contributor III
855 Views
Quoting - Andrew Smith

Having D is useful since if you copy and paste a number from one variable to another in the watch window, you need D to obtain double precision, otherwise the number gets trucated to single precision.


True, though use of D it is a bit of a bummer if you want to take the number out of the VS environment into another environment that doesn't understand the convention (eg Excel). Depending on the target environment you can work around this with basic string parsing, but it is a bit of a nuisance. Making this user configurable (similar to the "Hexadecimal Display" option) would be good.

Also it looks like the VS debug watch windows are unaware of the compiler settings that affect the default kinds, so something that is shown using a D may not actually be of double precision type in the program's source.
0 Kudos
Reply