如果应用程序关闭时没有错误消息,如何调试



我面临一个无法调试的问题。

如果我打开应用程序,它会正常打开并工作。但如果我启动应用程序并在1秒内关闭应用程序,然后再次启动应用程序,它就会崩溃,不会出现错误消息。

如果我关闭应用程序,Xcode将失去调试连接,我该如何调试?

我试着设置异常断点,但由于xcode失去了调试连接,它不会触发。

只有当用户执行上述步骤(打开、在2秒内关闭并再次打开(时才会发生这种情况。

有没有办法找出应用程序关闭的原因以及为什么没有错误/崩溃消息?

澄清:崩溃发生在用户打开应用程序时,在1秒内通过从最近菜单向上滑动手动终止应用程序,并试图在1或2秒内再次打开应用程序。(打开-终止-打开(

让我们假设您运行应用程序并快速强制退出。然后,如果你从Xcode调试器开始第二次运行该应用程序,希望你能在Xcode中看到你的崩溃。

如果这不起作用,你可以考虑使用崩溃报告工具(例如Crashlytics等(。这将帮助你监控和跟踪野外发生的崩溃报告(对你和你的用户来说(。如果你这样做,请确保你用一些强制的崩溃/报告来测试崩溃报告系统,因为没有报告可能只是配置错误的结果,这很容易做到,因为第一次设置这些工具需要一些工作。只需确保崩溃报告系统与一个积极的崩溃报告一起工作,然后才能从这个特定错误生成的崩溃报告的缺失中得出任何结论。

话虽如此,这些崩溃报告系统的工作方式通常是捕捉崩溃并在下次启动应用程序时发送。你的特定碰撞(在第一次快速强制退出后启动(可能发生得太快,以至于碰撞报告系统可能没有机会发送过去碰撞的报告。(话虽如此,这些对于捕捉应用程序正常使用过程中发生的用户崩溃信息仍然是非常宝贵的,所以即使在这种特定情况下没有帮助,我也会考虑它们。(

所以,让我们想象一下,由于某种原因,你仍然没有成功赶上撞车事故。最后一种方法是考虑在代码中添加Logger/OSLog语句。这些日志记录语句的好处在于,您可以在macOS控制台应用程序上观看这些日志记录声明。请参阅WWDC 2020探索Swift登录。

最新更新