VSCode 在调试模式下显示变量的十六进制值

use*_*934 17 visual-studio-code vscode-settings

VSCode 是否能够在调试模式下显示局部变量的十六进制值?我一直在寻找一种方法来实现这一目标,但没有成功。

小智 26

我知道这是一个旧线程,但它位于我的 Google 搜索的顶部,所以我想我会添加一些新信息,我在 Burt_Harris 链接的问题线程中找到了这些信息。

您似乎无法更改 Locals 窗格或工具提示中显示的值的格式,但您可以通过附加,x到变量名称来强制对 Watch 窗格中的变量进行格式设置。

存在其他格式,例如,b二进制、,o八进制。我相信它基于 GDB 显示修饰符使用(例如display/x myVariable

VSCode 的 Watch 窗格中使用的后缀:

VSCode 的 Watch 窗格中使用的后缀

  • 不适用于结构 (4认同)

Gre*_*ell 18

距离上次对此进行活动已经有一段时间了,但通过查看 Cortex-Debug github(问题)上此线程的链接,我发现了一个适合我的解决方案。从 (GDB) 调试控制台使用-exec set output-radix 16十六进制,将其设置为十进制 10。


Bur*_*sBA 9

这个答案适用于GDB调试。

对于活动调试会话,请在调试控制台中键入以下内容:

-exec set output-radix 16
Run Code Online (Sandbox Code Playgroud)

要在每次调试器运行时应用此设置,请在 launch.json 的“setupCommands”部分添加文本“set output-radix 16”

-exec set output-radix 16
Run Code Online (Sandbox Code Playgroud)


som*_*ome 5

我一直在寻找同样的东西并最终到了这里,我看到此时功能请求已被拒绝。

但是我突然想到:在监视窗口中,您可以添加一个表达式,而 Number 有一个toString方法,您可以在其中选择将数字转换为的基数 (2-36)。它有效:

使用 .toString 观看窗口

而不是仅仅看value,看value.toString(16)十六进制。

我试图在我的代码中向Number 原型添加更多方法(我想要一个分组显示),但不幸的是它只显示为“[Object object]”。

我知道这不是您要寻找的内容,但它无需任何插件即可工作。


Bur*_*ris 3

目前还不能,但有一些尚未解决的功能请求。根据 VSCode 核心开发人员的说法,这需要在您正在调试的环境的 特定调试器扩展中实现。

下面列出的已知相关调试器扩展功能请求的链接:

通过对功能请求点赞来投票您的偏好