为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

iOS
12345678_0001 2019-12-13 10:09:26
尝试进入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。
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

如果您的项目使用的是Swift,则在项目/目标配置中有两个单独的“优化级别”设置。

确保正确设置它们:

  1. 在“项目浏览器”窗格中选择项目

  2. 在“项目”树下选择项目的设置

  3. 点击“构建设置”标签

  4. 搜索“优化级别”,您将看到两个设置,一个用于LLVM,另一个用于swift。

  5. 为相关的构建配置设置适当的设置(None [-O0]针对LLVM和None [-0none]Swift)。

这样做为我解决了该警告。


查看完整回答
反对 回复 2019-12-13
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

您的项目似乎处于发布模式。发布模式对应用程序进行了很多优化,但是调试器讨厌优化,因此,要可靠地调试应用程序,您需要将其切换到调试模式,这会减少优化并添加大量调试信息。要将其切换到调试模式:


单击Xcode左上角的方案。

单击Xcode左上角的方案。


选择“编辑方案...”

选择“编辑方案...”


单击“构建配置”下拉列表。并将其更改为调试模式。

单击“构建配置”下拉列表。


查看完整回答
反对 回复 2019-12-13
?
万千封印

TA贡献1891条经验 获得超3个赞

仅当您遇到断点并且源位于启用了优化的项目中时,此警告才会出现,从而防止您观看实际的变量值(每个对象都显示为nil,即使不是)

就我而言,它仅在逐步调试cocoapod依赖项时发生。

因此,即使您正确设置了主要目标和项目设置(Strip Debug Symbol = OFF,并且优化级别为None),您也需要确保与击中断点的Pod项目相同。


查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 1675 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信