VSCode能否在调试模式下显示局部变量的十六进制值?我一直在寻找一种方法来实现这一目标,但没有成功。
答案 0 :(得分:6)
我知道这是一个旧主题,但是它是我Google搜索的顶部,所以我想添加一些新信息,这些信息可以在Burt_Harris链接的问题主题中找到。
您似乎无法更改在“本地”窗格或工具提示中显示的值的格式,但是可以通过在变量名后附加,x
来在“监视”窗格中强制设置变量的格式。
还存在其他格式,例如,b
表示二进制,,o
表示八进制。我相信它是基于GDB显示修饰符的用法(例如display/x myVariable
)
答案 1 :(得分:3)
我一直在寻找相同的东西,然后到这里结束,我发现此时功能请求已被拒绝。
但是后来我想起来了:在监视窗口中,您可以添加 表达式 ,并且Number具有toString方法,您可以在其中选择基数(2-36)转换为数字。它有效:
注意不要value
,而要value.toString(16)
十六进制。
我试图在代码中为 Number原型添加更多方法(我希望分组显示),但不幸的是,它仅显示为“ [Object object]”。
我知道这并不是您要查找的内容,但是它可以在没有任何插件的情况下工作。
答案 2 :(得分:3)
自上次活动以来已经有一段时间了,但我通过查看 Cortex-Debug github (Issues) 上此线程的链接找到了适合我的解决方案。从 (GDB) 调试控制台使用 set output-radix 16 表示十六进制,将其设置为 10 表示十进制。
答案 3 :(得分:2)
目前无法使用,但有一些功能要求尚未完成。根据VSCode核心开发人员this needs to be implemented in the specific debugger extension了解您正在调试的环境。
链接到下面列出的已知相关调试器扩展功能请求:
通过添加对功能请求的赞美来投票选择您的偏好
答案 4 :(得分:0)
正如@some所说,您可以在手表中添加一个表达式。 这是您必须添加以将字节的一部分显示为十六进制字符串的表达式:
call hex.EncodeToString(mySliceOfBytes)