【问题标题】:LLDB debugger - how to evaluate C macros?LLDB 调试器 - 如何评估 C 宏?
【发布时间】:2013-02-26 03:32:45
【问题描述】:

我正在尝试调试一个广泛使用 C 宏(宏的嵌套宏)的应用程序。它给出了“使用未声明的标识符”错误。

有什么方法可以让 LLDB 调试器正确识别和评估它?我可以自己分解宏并编写完整的表达式,但这非常繁琐且容易出错。

【问题讨论】:

    标签: xcode gdb lldb


    【解决方案1】:

    不幸的是,这不会发生,因为我们没有从编译器获得宏的调试信息,这有点道理,因为宏在预处理器完成其工作之后以及编译器将您的源代码转换为机器代码之前就消失了。

    【讨论】:

    • 是的,clang 的调试信息中没有表示任何宏信息 - 它向(已经很大的)调试信息添加了更多数据。我认为某些版本的 gcc 在他们的 DWARF 中发出。当 lldb 在您的程序上运行时,宏和 #defines 根本不可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多