为啥发布版本有时会崩溃,而调试版本则不会?
Posted
技术标签:
【中文标题】为啥发布版本有时会崩溃,而调试版本则不会?【英文标题】:Why do release builds sometimes crash while debug builds do not?为什么发布版本有时会崩溃,而调试版本则不会? 【发布时间】:2013-02-20 10:22:40 【问题描述】:我发现我的应用在发布版本(例如 TestFlight 的版本)时多次崩溃。但调试版本没有。
为什么这甚至是可能的?是什么让发布版本与调试版本如此不同?以及如何找出导致发布版本崩溃的原因?
我修改了我的运行方案以使用 TestFlight 构建配置,当我使用它时,应用程序崩溃了。 Xcode 在设备上安装并运行后也无法将其自身附加到应用程序。
【问题讨论】:
【参考方案1】:有许多可能的原因 - 如果您从 XCode 运行调试版本,应用程序看门狗将被禁用以允许调试器附加。在正常情况下,如果您的应用程序未能在特定时间范围内启动,您的应用程序可能会被终止。其他潜在原因可能是您使用的第三方库具有不同的发布/调试设置。如果不了解您的应用,很难说出根本原因是什么。
好消息是,虽然您可以在 XCode 中“调试”发布版本,但您可以使用它来表示您的发布版本崩溃日志。这将为您提供发生崩溃的确切行号,并帮助您追踪问题。
【讨论】:
我没有使用第 3 方库。此外,当该发布版本在设备上崩溃时,我的 iPhone 不会生成崩溃日志(当我点击“运行”按钮时,Xcode 将它安装在那里)。管理器不显示任何日志。以上是关于为啥发布版本有时会崩溃,而调试版本则不会?的主要内容,如果未能解决你的问题,请参考以下文章