我正在使用 Visual Studio 2008,我刚刚注意到当我将鼠标悬停在变量上以及即时窗口中时,调试器将整数值显示为十六进制。我想我一定是不小心按了快捷键什么的。
有人以前有过这个吗?如何将其设置回以十进制显示?
f + 1 = 10 (dec)
这样的大 oopses 扰乱了声明整数的增量。
右键单击 Watch Window 或 Immediate Window 并取消选中十六进制显示选项。
https://i.stack.imgur.com/FNk29.png
您还可以通过将调试器格式说明符附加到变量名称来在 Visual Studio 监视窗口中基于每个变量选择十六进制或十进制显示。在监视窗口中,输入:
myInt,h
myInt,d
其他非常有用的格式说明符是 ac
(见脚注)用于“始终计算”,以及 nq
用于显示“无引号”。它们可以一起使用:
my_string_func(),ac,nq
nq
在 DebuggerDisplay
属性中很有用,它可以出现在类中:
[DebuggerDisplay("{my_string_func(),nq}")]
class MyClass
{
/* ...example continues below... */
...或在一个类中的一个或多个字段上:
[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
请注意,早期版本的 MSDN 文档页面错误地说“Ac”(大写“A”)——这不起作用
h
是十六进制显示的正确修饰符,但似乎(至少在我的版本 VS 2012 Premium 中)x
可以代替(例如 1024,x
而不是 1024,h
)。放置 h
会返回“CXX0026 bad format string”错误。
在调试模式下运行 Visual Studio 时会显示一个十六进制按钮以启用/禁用十六进制显示
https://i.stack.imgur.com/IhmV5.jpg
右键单击几乎每个调试窗口(即时窗口除外)的客户端空间 - watch/locals/autos/threads/call stack - 并取消选中“Hexadecimal Display”选项。调试时,调试工具栏中还有一个“Hex”按钮(默认为“Step Over”右侧)。
在 Visual Studio 2010 中,我还在调试工具栏中看到它,它以黄色“十六进制”突出显示,我只是单击它并返回(正常)十进制值
Visual Studio 2017 十进制与十六进制显示仅由 Watch 对话框控制。
设置变量后中断。鼠标右键单击变量并选择“Add Watch”或“QuickWatch” 鼠标右键单击 Watch 对话框中的行。取消选中“十六进制显示”
现在显示为十进制。
https://i.stack.imgur.com/W3NZJ.png
在即时窗口中,您可以取消选中十六进制显示选项。
不定期副业成功案例分享