我正在使用Visual Studio 2008,发现当我在变量上悬停或在立即窗口中查看时,调试器会将整数值显示为十六进制。我猜我可能是不小心按下了某个快捷键。
有人之前遇到过这种情况吗?如何将其设置回以十进制显示?
我正在使用Visual Studio 2008,发现当我在变量上悬停或在立即窗口中查看时,调试器会将整数值显示为十六进制。我猜我可能是不小心按下了某个快捷键。
有人之前遇到过这种情况吗?如何将其设置回以十进制显示?
右键单击您的观察窗口(Watch Window)或立即窗口(Immediate Window)并取消勾选十六进制显示选项。
您还可以通过在变量名称后添加调试器格式说明符,在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... */
在一个类中,可以使用 or
同时筛选一个或多个字段:
[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
h
是十六进制显示的正确修饰符,但在我的版本(VS 2012 Premium)中似乎可以使用x
代替(例如1024,x
而不是1024,h
)。使用h
会返回“CXX0026 bad format string”错误。 - vgru鼠标右键单击几乎所有调试窗口的客户端区域(除了即时窗口),包括观察、本地、自动、线程和调用堆栈,并且取消勾选“十六进制显示”选项。当调试时,调试工具栏中还有一个“十六进制(Hex)”按钮(默认情况下位于“步过(Step Over)”右侧)。
在立即窗口中,您可以取消勾选十六进制显示选项。
f + 1 = 10 (dec)
这样的大失误。 - Laurie Stearn