windbg中的十六进制到十进制

时间:2013-03-26 00:30:05

标签: hex decimal windbg

看起来WinDbg的默认值是以十六进制显示十进制和无符号整数的整数。 有没有办法用十进制显示全部?

我尝试使用n命令mentioned here

它虽然给我语法错误:

:086> n[10]
      ^ Syntax error in 'n[10]'

知道我做错了什么吗?

3 个答案:

答案 0 :(得分:5)

你不应该使用方括号。在MSDN page上,这些方括号表示radix参数是可选的。

当参数保持关闭时,会显示当前基数。

0:000> n
base is 10

当您提供参数(没有方括号)时,当前基数会发生变化并回显给您。

0:000> n 16
base is 16

设置基数后常用的技巧是使用?Evaluate Expression)命令将数字转换为新基数(在本例中为基数16)。

0:000> ? 0n10
Evaluate expression: 10 = 0000000a

0:000> ? 0y11
Evaluate expression: 11 = 00000003

请记住,一旦设置了基数,输入和输出都会受到影响,这意味着当您要输入的数字不是当前基数时,您需要在最后一个示例中指定基数。 。有关如何使用类似MASM的语法处理数字的进一步阅读here

但回到原来的问题......

是的,n 10应该足以强制数字以十进制显示。如果由于某种原因出现问题,您可以始终使用上面显示的?命令执行转换。

答案 1 :(得分:2)

描述WinDbg如何评估表达式的扩展文章(包括有关n命令影响的详细信息):

https://www.osronline.com/article.cfm?id=540

答案 2 :(得分:0)

尝试使用命令: -

.enable_long_status 0