【问题标题】:what does middle guard protection failed %d mean?中卫保护失败 %d 是什么意思?
【发布时间】:2014-08-16 16:48:59
【问题描述】:

当我将我的应用程序构建到我的实际 iPhone 上时,调试区域会显示:

[Allocator] Middle guard protection failed %d
[Allocator] Allocator invalid, falling back to malloc

第 2 行共显示 30 次。我不知道这意味着什么或如何解决它。当我构建到模拟器时它没有显示这个。

我在使用情节提要和恢复 ID 进行状态保存时遇到问题,我感觉这与内存问题有关,因此它正在转储我的内存,因此我无法恢复应用程序。基本上,当我返回我的应用程序时,它会显示我上一个屏幕一秒钟,然后返回到根页面。

无论如何,我想修复这个 malloc 的东西,这样我至少可以排除它的罪魁祸首,而且我不希望有内存问题......

我也已经在谷歌上搜索了几个星期,但找不到任何东西!

【问题讨论】:

  • 你安装了 xcode 6 吗?
  • 是的,我正在使用上周发布的第二个测试版。
  • 当我不小心在 xcode6 beta 上打开我的项目时,我遇到了同样的问题。然后当我回到 xcode 5 时,它给了我这个警告。在xcode cmd+shift+k上清空项目,如果不行,从模拟器文件夹中删除项目文件夹
  • 谢谢安德烈,所以我清除了 Xcode 构建,但它仍然给我分配问题。我不确定如何执行第二步“从 sim 文件夹中删除项目文件夹”?
  • 你们在使用 Crashlytics 吗?评论 startWithAPIKey 解决了这个问题,所以看起来这是他们的问题。

标签: ios7 xcode5


【解决方案1】:

这似乎确实是 Crashlytics 的一个问题。我从其他线程中知道,他们提出了与另一个中间错误(不是中间保护保护失败 %d)相关的“分配器无效...”问题,后来被标记为已修复。

我通过删除所有 crashlytics 内容并使用新的 fabric/crashlytics 框架解决了这个问题。问题解决了。

(有趣的是,我只在 iPad 上使用过,我的 iPhone 5C 完全没有抱怨。)

【讨论】:

    【解决方案2】:

    看起来这是 Crashlytics 框架的问题。我有同样的问题,并评论这个 API 调用:

    [Crashlytics startWithAPIKey:API_KEY];

    删除该警告。

    【讨论】:

    • 确实有效。但它也会完全禁用 Crashlytics。
    猜你喜欢
    • 2013-07-16
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2019-12-05
    • 2020-06-26
    • 2011-11-12
    相关资源
    最近更新 更多