I'm using Visual Studio 2008 and I have just noticed that the debugger is displaying integer values as Hex when I hover over variables and also in the immediate window. I guess I must have hit a shortcut key accidently or something.
Anyone had this before? How do I set it back to display in decimal?
f + 1 = 10 (dec)
.
Right-click your Watch Window or Immediate Window and uncheck Hexadecimal Display option.
https://i.stack.imgur.com/FNk29.png
You can also choose hexadecimal or decimal display on a per-variable basis in the Visual Studio watch window by appending a debugger format specifier to the variable name. In the watch window, enter:
myInt,h
myInt,d
The other very useful format specifiers are ac
(see footnote) for 'always calculate', and nq
for displaying with 'no quotes.' They can be used together:
my_string_func(),ac,nq
nq
is useful inside DebuggerDisplay
attributes, which can appear on a class:
[DebuggerDisplay("{my_string_func(),nq}")]
class MyClass
{
/* ...example continues below... */
...or on one or more field(s) inside a class:
[DebuggerDisplay("{some_field,nq}", Name="substitute name here")]
int an_integer;
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
String some_field;
}
http://msdn.microsoft.com/en-us/library/e514eeby(v=VS.100).aspx
note that earlier versions of the MSDN doc page incorrectly said 'Ac' (with a capital 'A')--which doesn't work
h
is the correct modifier for hex display, it seems (at least in my version, VS 2012 Premium) that x
works instead (e.g. 1024,x
instead of 1024,h
). Placing h
returns the "CXX0026 bad format string" error.
There is a Hex button shown when Visual Studio is run in Debug mode to enable/disable the Hex display
https://i.stack.imgur.com/IhmV5.jpg
Right-click on client space of almost every debug window (except Immediate Window) - watch/locals/autos/threads/call stack - and uncheck "Hexadecimal Display" option. There's also a "Hex" button in debug toolbar (right to "Step Over" by default) when debugging.
In Visual Studio 2010 I also saw it in the Debug toolbar, it was highlighted in yellow 'Hex', I just clicked it and it returned to (normal) decimal values
Visual Studio 2017 Decimal vs. hexadecimal display is controlled only from the Watch dialog.
Break after setting the variable. Right mouse click the variable and select "Add Watch" or "QuickWatch" Right mouse click the line in the Watch dialogue. Uncheck "Hexadecimal Display"
The display will now be in decimal.
https://i.stack.imgur.com/W3NZJ.png
In the immediate window you can uncheck the Hexadecimal Display option.
Success story sharing