【发布时间】:2023-05-15 05:37:01
【问题描述】:
我正在尝试调试一些代码,但调试器给出的值与当前代码无关。
我有另一台安装了 gdb 的 Linux 笔记本电脑,一切正常。当我在 MacBook 上使用 LLDB 时,问题就出现了。
代码非常简单,我只是将值 12 分配给名为 v1 的变量,仅此而已。问题不在于代码。
当我在 LLDB 中逐步执行代码并在分配之前打印 v1 的值时,我得到了 0,在分配之后我得到了 '\f'。
为了编译,我使用选项 -g 尝试了 gcc 和 clang。
【问题讨论】:
-
如果你展示你的测试程序,它可能有助于展示确切的问题。您提到它很简单 - 是否足够简单,可以包含在问题中?另外,你是如何在 macOS 上编译它的?用clang还是gcc?使用优化 (-O)?