iPhone 6S/iOS 9.1:找不到代码为 0xdeadfa11 的崩溃日志

iPhone 6S/iOS 9.1 : Can't find crash log with code 0xdeadfa11

我刚刚发现可以在 iOS 上强制退出冻结的应用程序。 根据 Technical Note TN2151 我应该在我的设备上获得代码为 0xdeadfa11 的崩溃日志,但我没有这样的崩溃日志。

The exception code 0xdeadfa11 indicated that an application has been force quit by the user. Force quits occur when the user first holds down the On/Off button until "slide to power off" appears, then holds down the Home button. It's reasonable to assume that the user has done this because the application has become unresponsive, but it's not guaranteed - force quit will work on any application.

Note: Terminating a suspended app by removing it from the multitasking tray does not generate a crash report. Once an app has suspended, it is eligible for termination by iOS at any time, so no crash report will be generated.

这是 apple bug 还是我遗漏了一些额外的步骤?

编辑 如果我在强制退出后检查设备控制台,我会看到此日志:

ReportCrash[2074] : Stackshot code 0xdeadfa11 not tasked, ignoring

似乎出于某种原因 iOS 决定不生成死机崩溃报告。

Apple 说明说通过从多任务托盘中删除暂停的应用程序来终止它不会生成崩溃报告。我不认为你会有日志。

我尝试在三个设备上生成强制退出:

1)iPad 3 (iOS 8)

2)iPad 空气 (iOS 9.2)

3)iPhone 5 (iOS 9.2.1)

当我在调试时尝试通过 xcode 在所有三个设备上生成崩溃时,没有生成崩溃日志,而是我收到以下错误消息:

Message from debugger: Terminated due to signal 9

我认为这与您的消息相似:

Service exited due to signal: Killed: 9

当我尝试在不调试的情况下生成崩溃并通过设备日志查看日志时,我发现:

1)对于iPad 3 (iOS 8): 生成了崩溃日志,附上截图。

2)对于iPad Air (iOS 9.2): 没有生成崩溃日志。

3)对于iPhone 5 (iOS 9.2.1): 没有生成崩溃日志。

根据我的理解,当您在调试时尝试通过 xcode 生成强制退出时,它不会生成,如果不直接在您的设备中调试而尝试生成崩溃,那么它可能是 os(iOS9) 具体原因。

P.S: And Service exited due to signal: Killed: 9 由于内存问题,高CPU消耗任务。

希望这对您有进一步的帮助。