猿问

“项目名称”经过优化编译-步进可能会出现奇怪的情况;变量可能不可用

尝试进入AFNetworking代码会生成以下警告:


[Project Name] was compiled with optimization - stepping may behave oddly; variables may not be available.

当然,我无法调试代码。具体来说,我正在尝试调试UIImageView+AFNetworking类别,这似乎是不可能的。更改代码没有任何效果(尝试NSLog等),并且尝试进入编译器时转到汇编代码,并显示UIImageView+TVASTAFNetworking为代码库中任何地方都不存在的类别名称。

使用Xcode7。iOS9和8。Cocoapods(无框架)


更新 我忘了提到none针对发布和调试配置,Optimizer都设置为,实际上我正在使用Debugconfig。


12345678_0001
浏览 1676回答 3
3回答

慕雪6442864

如果您的项目使用的是Swift,则在项目/目标配置中有两个单独的“优化级别”设置。确保正确设置它们:在“项目浏览器”窗格中选择项目在“项目”树下选择项目的设置点击“构建设置”标签搜索“优化级别”,您将看到两个设置,一个用于LLVM,另一个用于swift。为相关的构建配置设置适当的设置(None [-O0]针对LLVM和None [-0none]Swift)。这样做为我解决了该警告。

慕虎7371278

您的项目似乎处于发布模式。发布模式对应用程序进行了很多优化,但是调试器讨厌优化,因此,要可靠地调试应用程序,您需要将其切换到调试模式,这会减少优化并添加大量调试信息。要将其切换到调试模式:单击Xcode左上角的方案。单击Xcode左上角的方案。选择“编辑方案...”选择“编辑方案...”单击“构建配置”下拉列表。并将其更改为调试模式。单击“构建配置”下拉列表。

万千封印

仅当您遇到断点并且源位于启用了优化的项目中时,此警告才会出现,从而防止您观看实际的变量值(每个对象都显示为nil,即使不是)就我而言,它仅在逐步调试cocoapod依赖项时发生。因此,即使您正确设置了主要目标和项目设置(Strip Debug Symbol = OFF,并且优化级别为None),您也需要确保与击中断点的Pod项目相同。
随时随地看视频慕课网APP

相关分类

iOS
我要回答