【问题标题】:Debugging a static library in Xcode在 Xcode 中调试静态库
【发布时间】:2014-08-26 18:18:39
【问题描述】:

我正在构建一个静态库并且没有收到任何编译错误,但是,当我将它与演示项目(基本单视图应用程序)链接时。我无法进入从静态库调用的方法来调试它...

我没有收到任何运行时错误,但我认为这是因为我的 NSLog 没有显示,它没有被执行,并且它没有返回任何东西......

基本上,我如何调试通过我还创建的演示应用创建的静态库..

我该怎么办?我需要帮助!!

提前谢谢...

【问题讨论】:

    标签: ios objective-c xcode debugging static-libraries


    【解决方案1】:

    要使用运行时debugger,您应该将static 库项目作为subproject 添加到您要调试的示例中。

    确保您的static 库的GENERATE_DEBUG_SYMBOLS 设置为YES(调试模式)。

    如果在项目中使用已编译的 static 库 (libYourLib.a),您将无法进入方法,但仍应看到 NSLog 即将到来。

    【讨论】:

    • debug mode是否意味着在Scheme窗口中将Build Configuration设置为Debug
    【解决方案2】:

    如果你的静态库不是子项目或者不在同一个工作区中,首先确保GENERATE_DEBUG_SYMBOLS 设置为YES(调试模式),正如@Injectios 所说。然后转到 Breakpoint Navigator,使用您感兴趣的类/方法添加一个新的“Symbolic Breakpoint”,然后运行您的应用程序。

    【讨论】:

      【解决方案3】:

      我通常在我的预编译静态库中执行此操作的方式是,我会在 viewDidload 添加一个断点,然后当断点被命中时,如果我们知道将断点添加到哪些方法,我会添加一个像b <function_name> 这样的断点,然后按继续,当在执行过程中遇到该函数时,它会中断,我们可以使用常规 lldb 选项继续,单步执行并单步执行代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-26
        • 2013-01-05
        • 2011-11-18
        • 2014-09-28
        • 1970-01-01
        • 2020-02-06
        • 2010-09-10
        相关资源
        最近更新 更多