gpt4 book ai didi

没有错误或堆栈跟踪的 iOS 崩溃

转载 作者:IT王子 更新时间:2023-10-29 07:46:02 26 4
gpt4 key购买 nike

很难追踪 iPad 应用程序中的崩溃。困难实际上源于应用程序失败时不存在错误或堆栈跟踪这一事实。它就像 Keizer Soze 一样消失了,“就这样,噗。他走了。”。

我已经在模拟器和设备上重现了崩溃。设备日志为零,控制台中没有任何内容,等等。

我知道在崩溃期间,一些 CoreGraphics 操作正在后台线程中进行。通常,三个左右的 NSOperations 会启动一些图像混合。

混合由 CGContext* 调用(DrawImage、SetBlendMode、SetAlpha 等)组成。 NSOperation 回调主线程中的委托(delegate)来处理图像并将其设置为 UIImage,因此它不应该是 UI 主线程冲突,但我现在不打折.

我是否缺少一些 Xcode 技巧来准确追踪正在发生的事情?或者至少更好地提示问题出在哪里?

编辑 我已经在 Instruments 中运行该应用程序来跟踪内存使用情况,发现它在 2MB 左右非常稳定。所以,不要认为这是内存问题。但仔细一想,这2MB的稳如磐石,显得低得离谱。 Instruments 是否有可能没有获取 CoreGraphics 分配?

最佳答案

尝试读取寄存器。

每当我的应用程序无错误地崩溃时,在大多数情况下,我都会在寄存器中找到异常。

首先转到异常选项卡,然后使用左下角的 + 号“添加异常断点”。 enter image description here

然后当应用程序崩溃时,单击线程 1 下的“0 objc_exception_throw” enter image description here

最后在控制台输入:

  • 注册阅读(你应该得到一个寄存器列表)

  • po $rax(通常异常(exception)在'rax')

    (你应该在控制台上看到异常输出)

希望这对您有所帮助。

关于没有错误或堆栈跟踪的 iOS 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com