【问题标题】:Is there a way to watch memory allocation and '\0' signs in VScode or CLion?有没有办法在 VScode 或 CLion 中观察内存分配和 '\0' 标志?
【发布时间】:2020-09-28 04:40:15
【问题描述】:

我用这个website来调试小程序。它以清晰的方式显示了每一步的记忆发生了什么。就像在屏幕截图上一样。

在 VScode 中,我只知道如何为数组str[i]; 的每个元素编写一个表达式并观察它。它仅以这种方式在单元格中显示零。但是我不想每次需要查看整个数组时都为每个元素编写一个表达式。如果我没有在那里写东西,或者它们包含零,默认情况下调试时的 VScode (lldb) 不会显示分配的内存。

那么有没有办法像在 VScode 或 CLion 中的屏幕截图一样查看内存?

【问题讨论】:

  • 阅读how to debug small programs。学习使用好的调试器,比如GDB。你可能对它的DDD 前端感兴趣;在 C 编译器中启用所有警告和调试信息:with GCC compile with gcc -Wall -Wextra -g
  • "watch" 是一个重载的词。有些人用它来表示打开一个记忆窗口,随着你的脚步而更新。正式的含义是“使用处理器的硬件辅助数据监视功能在内存发生变化时通知您”。你想做什么?
  • @JimIngham 我的意思是:在我迈步时观察记忆如何更新

标签: c memory visual-studio-code clion lldb


【解决方案1】:

互联网似乎同意 VSCode 没有内存查看器,但 CLion 似乎确实:

https://www.jetbrains.com/help/clion/memory-view.html

您还可以使用 lldb memory read 命令在控制台窗口中查看内存。更多详情请help memory read

您还可以使用target stop-hook add 添加“停止挂钩”。每次调试器停止并将控制权返回给用户时,停止钩子都会运行。有关如何使用该命令的更多详细信息,请参阅help target stop-hook add

因此,只需使用您的 memory read 命令添加一个新的停止挂钩,它就会在每个 stepnext 的末尾转储到控制台。

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2018-06-04
    • 2021-04-01
    • 2013-09-18
    • 2020-03-06
    • 2017-04-24
    相关资源
    最近更新 更多