Visual Studio调试器-以十六进制显示整数值


152

我正在使用Visual Studio 2008,并且刚注意到将鼠标悬停在变量和即时窗口上时,调试器会将整数值显示为十六进制。我想我一定是不小心按了快捷键之类的。

有人以前有过吗?如何将其设置回以十进制显示?


信不信由你,这也使使用oops之类的大整数扰乱了声明的整数的增量f + 1 = 10 (dec)
Laurie Stearn

Answers:


273

右键单击“ 监视窗口”或“ 立即窗口”,然后取消选中“十六进制显示”选项。

在此处输入图片说明


4
在“工具”对话框中不可用。我可以改回它的唯一方法是将“变量”添加到“监视”窗口,然后在“值”字段中单击鼠标右键,然后显示“十六进制显示”复选框。
嘶嘶声

12
我能够在VS2010 的“ 调用堆栈”窗口中做到这一点。
StuperUser 2011年

1
在我的调试工具栏中。
–Breandán

2
谢谢上帝,我摆脱了这个愚蠢的烦人的事情。感谢@Leniel
Ali Umair

2
在2020年与VS 2019仍然相关!
Marc Levesque

45

您还可以通过在变量名称后附加调试器格式说明符,在Visual Studio监视窗口中按变量选择十六进制十进制显示。在监视窗口中,输入:

myInt,h
myInt,d

其他非常有用的格式说明符ac(请参见脚注)用于“始终计算”和nq用于显示“不带引号”。它们可以一起使用:

my_string_func(),ac,nq

nqDebuggerDisplay属性内很有用,可以出现在类上:

[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/zh-CN/library/e514eeby(v=VS.100).aspx

  • 请注意,MSDN doc页面的早期版本错误地显示了“ Ac”(大写字母“ A”)-这不起作用

+1,但尽管MSDN指出这h是十六进制显示的正确修饰符,但它似乎x起作用(至少在我的版本中是VS 2012 Premium)(例如,1024,x代替1024,h)。放置将h返回“ CXX0026格式错误的字符串”错误。
Groo 2015年

我怀疑这可能取决于要调试的模块的编写语言。调试器表达式语法会根据当前语言而改变,这的确是事实。从您的消息看来,您正在使用C ++。我的回答好像是C#,尽管也许我不应该假设,因为OP没有指定。
格伦Slayden

1
与“十六进制显示”的全部内容或全部内容无关,这提供了更好的格式自由控制
Fernando Gonzalez Sanchez

17

在调试模式下运行Visual Studio时,会显示一个十六进制按钮,以启用/禁用十六进制显示

Visual Studio调试模式-十六进制按钮


与上下文菜单中的“十六进制显示”相同,这是一个被忽略的按钮,谢谢。
Fredrick Gauss

11

右键单击几乎所有调试窗口(“即时窗口”除外)的客户端空间 -“监视/本地/自动/线程/调用堆栈”,然后取消选中“十六进制显示”选项。调试时,调试工具栏中还有一个“十六进制”按钮 (默认为“跳过”)。


9

在Visual Studio 2010中,我还在“调试”工具栏中看到了它,并以黄色的“十六进制”突出显示了它,我单击了它,并返回了(正常)十进制值


3

在立即窗口中,您可以取消选中“十六进制显示”选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.