【问题标题】:How can I easily show multiple values from a pointer in the Visual Studio Code debugger?如何从 Visual Studio Code 调试器中的指针轻松显示多个值?
【发布时间】:2018-06-28 10:43:43
【问题描述】:

根据stackoverflow post 上的答案,在 Visual Studio 中,调试器监视窗口可以使用以下语法显示数组的多个值:arrName,20

是否有类似的方法可以在 Visual Studio Code 调试器中轻松显示来自指针和以下内存地址的多个值?

例如,这是我正在使用的结构:

struct student *students = malloc(NUM_STUDENTS * sizeof *students);

我可以使用 students[idx] 显示单个值,但尝试使用给定的 Visual Studio 语法不起作用。

【问题讨论】:

  • 如果您使用 C 编程,请不要添加无关的语言标签。
  • 至于你的问题,你真的有一个array,还是一个指向数组第一个元素的pointer
  • 它是指向数组第一个元素的指针。我将编辑帖子以澄清。

标签: c debugging visual-studio-code lldb


【解决方案1】:

看起来你在问这个 gdb 的 Visual Studio -> lldb 版本 -> lldb 问题:

View array in LLDB: equivalent of GDB's '@' operator in Xcode 4.1

该问题中有一堆“手动”答案,在提出问题时这是必要的,但在过去的几年中,lldb 已经为此提供了内置功能(在一个答案):

(lldb) parray 20 <Expression resulting in a pointer to your array>

【讨论】:

  • 我不明白这是如何回答这个问题的。首先有一个类型(应该是parray 而不是parry)。其次,您可以在 VS Code 的 Debug Console 选项卡中使用此命令(显然,当调试器是 lldb 时),但这无助于在监视窗口中查看数组。
【解决方案2】:

您可以在 vs 代码监视器中使用 *some_pointer@3 来显示指针指向的值。

【讨论】:

    猜你喜欢
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多