XCode无法找到特定iOS库/框架项目的符号
我在一个相当大的iOS项目中遇到了特定库/框架的源代码中的断点问题(Xcode新手 – 我不确定正确的术语是什么)。 我有这个库的所有代码。 断点在其他任何地方都可以正常工作,但在这个特定的库中,所有断点都会被忽略。
我可以在其中一个源文件中调用的函数中放置一个断点,它将触发,但随后callstack显示我感兴趣的文件中的位置“__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以确定谁在执行此操作。 您可以通过将鼠标hover在RHS上的每条构建线上来扩展阶段,并且您将获得一个看起来像页面上的一堆行的公开dingus; 单击该按钮以查看实际命令。
另一种精细化的方法可能是为这个框架构建dSYM(通过将调试格式设置为“DWARF + dSYM”。)这应该在任何被剥离之前进行,所以除非剥离它的人是非常聪明的,这应该保留调试信息。
- NSPredicate为两个NSNumber数组
- iOS的OpenGL使用glTexImage2D的参数,使UIImage?
- didSelectRowAtIndexPath不会被调用到cellForRowAtIndex的UIButton
- iOS“此应用内购买已被购买”popup
- 我想每秒调用20次installTapOnBus:bufferSize:format:block:
- 使用未parsing的标识符
- iOS,UIImagePickerController有没有一种方法来检测用户点击拍照button,而不实现自定义控件?
- unit testing不调用viewDidAppear方法
- Swift:编译从iOS 7归档时的分段错误