Я только что обнаружил, что на iOS можно принудительно закрыть зависшее приложение. Согласно Technical Note TN2151 Я должен получить журнал сбоев на моем устройстве с кодом 0xdeadfa11, но у меня нет такого журнала сбоев.

Код исключения 0xdeadfa11 указывает на то, что приложение было принудительно завершено пользователем. Принудительный выход происходит, когда пользователь сначала удерживает кнопку «Вкл. / Выкл.», Пока не появится сообщение «сдвиньте для выключения», а затем удерживает кнопку «Домой». Разумно предположить, что пользователь сделал это, потому что приложение перестало отвечать, но это не гарантируется - принудительный выход будет работать с любым приложением.

Примечание. Завершение приостановленного приложения путем удаления его из области многозадачности не создает отчет о сбое. После приостановки приложения оно может быть прекращено iOS в любое время, поэтому отчет о сбое создаваться не будет.

Это ошибка Apple или мне не хватает каких-то дополнительных шагов?

ИЗМЕНИТЬ Если я проверю консоль устройства после принудительного выхода, я вижу этот журнал:

ReportCrash [2074]: код стека 0xdeadfa11 не задан, игнорируется

Похоже, что по какой-то причине iOS решает не создавать отчет о сбое мертвой точки.

4
AnderCover 23 Дек 2015 в 14:35

2 ответа

Лучший ответ

Я пытался сгенерировать принудительный выход на трех устройствах:

1) iPad 3 (iOS 8)

2) iPad Air (iOS 9.2)

3) iPhone 5 (iOS 9.2.1)

Когда я попытался сгенерировать сбой на всех трех устройствах с помощью xcode во время отладки, журнал сбоев не был создан, вместо этого я получил следующее сообщение об ошибке:

Сообщение от отладчика: прекращено по сигналу 9

Что я думаю похоже на ваше сообщение:

Сервис закрыт из-за сигнала: Погибло: 9

И когда я попытался вызвать сбой без отладки и просмотра журнала через журналы устройства, я обнаружил:

1) Для iPad 3 (iOS 8): был создан журнал сбоев, скриншот прилагается.

enter image description here

2) Для iPad Air (iOS 9.2): журнал сбоев не создавался.

3) Для iPhone 5 (iOS 9.2.1): журнал сбоев не создавался.

Насколько я понимаю, когда вы пытаетесь сгенерировать принудительный выход через xcode во время отладки, он не генерируется, и в случае попытки сгенерировать сбой без отладки непосредственно на вашем устройстве, это может быть специфическая причина ОС (iOS 9).

P.S: Служба завершена из-за сигнала: убито: 9 создается из-за проблем с памятью и задач с высокой загрузкой ЦП.

Надеюсь, это поможет вам в дальнейшем.

3
Akshay Sunderwani 18 Фев 2016 в 05:48

В примечании Apple говорится, что завершение приостановленного приложения путем удаления его из области многозадачности НЕ генерирует отчет о сбое. Не думаю, что у вас будет журнал.

0
Ram G. 10 Фев 2016 в 23:18