gpt4 book ai didi

ios - XCode 找不到特定 iOS 库/框架项目的符号

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:07:34 25 4
gpt4 key购买 nike

我在一个相当大的 iOS 项目中的特定库/框架(Xcode 的新手 - 我不确定正确的术语是什么)的源代码中遇到断点问题。我有这个库的所有代码。断点在其他任何地方都可以正常工作,但在这个特定的库中,所有断点都将被忽略。

我可以在从这些源文件之一中调用的函数中放置一个断点,它会触发,但随后调用堆栈显示“__lldb_unnamed_function”作为我感兴趣的文件中的位置,就好像符号有被剥夺了。

我对相关库有以下设置

Generate Debug Symbols = YES
Strip Debug Symbols During Copy = NO
Strip Linked Product = NO
Dead Code Stripping = NO

我一直在使用很多#ifdefs 来测试一些函数的替代实现,所以我认为有些东西可能会被意外标记为死代码(因此最后一个设置)。我已经尝试过清理/重建。我尝试从目标 iPhone 中完全删除该应用程序。我尝试删除

下的中间文件夹
/Library/Developer/Xcode/DerivedData

代码确实在执行,因为我所有的 NSLog 调用都正确显示。

我对 Xcode 没有太多经验,所以我希望我只是遗漏了一些简单的东西

谢谢

最佳答案

您构建过程的某些部分必须剥离此二进制文件。如果您正在生成一个没有调试信息的未剥离的二进制文件,那么您会在回溯等中看到完整的符号名称,只是没有它们的调试信息。

找出谁在做这件事的唯一好方法是查看 Xcode 中的完整构建日志,并展开每个阶段并在所有构建阶段进行 grub 以找出谁在做这件事。通过将鼠标悬停在 RHS 上的每个构建行上来扩展阶段,您将获得一个看起来像页面上的一堆行的披露提示;单击它以查看真正的命令。

另一种巧妙的方法可能是为这个框架构建 dSYM(通过将调试格式设置为“DWARF + dSYM”。)这应该在任何东西被剥离之前完成,所以除非谁在剥离它是非常聪明的这应该保留调试信息。

关于ios - XCode 找不到特定 iOS 库/框架项目的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com