ios - 为什么这个应用程序从 Testflight 运行时会崩溃 100%,而从 Xcode 运行时可能会崩溃 10%

标签 ios iphone debugging crash sprite-kit

编辑:我将重新发布此内容的不同版本 - 我认为我过于关注它在 Testflight 中崩溃的事实,而不是它在 iPhone 上崩溃而不是 iPad 上崩溃的事实。 (甚至来自 TF)

我遇到了一个烦人的问题,之前关于 SO 的类似答案没有多大帮助。

我有一个游戏(使用 Sprite Kit),当某个方法完成运行时有时会崩溃。当我从 Xcode 在 iPhone 5s 上运行它时,它执行此操作的时间为 10%(或更少),但如果我上传到 Testflight,它执行此操作的时间为 100%。

Xcode 没有给我很好的调试信息,它在 main.m 中的这一行显示了一个绿色断点行:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

左侧面板上显示这种情况发生在:

主题 1:

Queue: com.apple.spritekit.renderQueue 0 SKCRenderer::preprocessSpriteImp(std::__1::vector >&, SKRenderQuadPool&, SKCSprite const*, _GLKMatrix4 const&, float, unsigned int&, bool)const

and I see an EXC_BAD_ACCESS (code=EXC_I386_GPFLT) in this line:

0x1015bc663: movq 16(%rbx), %rcx

I will attach a pic actually of the surrounding stuff

我不擅长调试,我不知道该怎么办。值得注意的是,iPad 版本中从未发生过这种情况。我很困惑为什么有时会发生但并非总是如此。

最佳答案

由于派生数据,应用程序在从 xcode 运行时可能不会崩溃。如果启用了僵尸,则很少会隐藏不良访问。这一切都与内存引用有关,以及一些合法死亡但实际上存在于内存位置的东西可以隐藏合法的不良访问。

尝试删除派生数据并禁用僵尸,您也会从 xcode 获得同样的错误访问。

关于ios - 为什么这个应用程序从 Testflight 运行时会崩溃 100%,而从 Xcode 运行时可能会崩溃 10%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21226394/

相关文章:

android - iOS 和 Android 设备 token 的长度是多少

iphone - 你怎么知道 pushViewController 保留了推送的对象?

iphone - 加快 iPhone 上从 NIB 加载 UI 的速度

iphone - 如何在 iPhone 上从网络下载文本文件?

c++ - 如何将源代码附加到 Eclipse 中的预构建静态 C 库

ios - 如何从单元格触摸移动 pageviewcontroller

ios - 从 Storyboard修改定制的单元格

iphone - UILabel 文本不自动换行

python - django shell 启动时如何运行任意代码?

debugging - 减少托管程序的小型转储的大小,同时保留一些堆信息?