windbg中的十六进制到十进制

Red*_*Red 1 hex windbg decimal

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

我尝试使用这里提到n命令

它给了我语法错误:

:086> n[10]
      ^ Syntax error in 'n[10]'
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

Sea*_*ine 5

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

关闭参数后,将显示当前基数.

0:000> n
base is 10
Run Code Online (Sandbox Code Playgroud)

当您提供参数(没有方括号)时,当前基数会更改并回显给您.

0:000> n 16
base is 16
Run Code Online (Sandbox Code Playgroud)

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

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

0:000> ? 0y11
Evaluate expression: 11 = 00000003
Run Code Online (Sandbox Code Playgroud)

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

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

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