Приложение вылетает с сообщением "Сторожевой таймер истек".сообщение.Нет трассировки стека или сбоя - PullRequest
1 голос
/ 13 октября 2010

Мое приложение аварийно завершает работу со следующим сообщением в отладчике Xcode:

Watchdog has expired.  Remote device was disconnected?  Debugging session terminated.

The Debugger has exited due to signal 15 (SIGTERM).The Debugger has exited due to signal 15 (SIGTERM).

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

Является ли "Сторожевой таймер истек". сообщение актуально вообще? Или это просто артефакт отладчика, теряющего связь с приложением при его сбое?

Если это уместно, что это значит?

1 Ответ

2 голосов
/ 14 октября 2010

"Сторожевой таймер истек." может означать что угодно . Формулировка сообщения предполагает, что «локальная» GDB (работающая на вашем Mac) GDB истекла в ожидании данных от «удаленной» GDB (работающей на телефоне). В качестве альтернативы, «Сторожевой таймер истек» может быть с выхода консоли телефона незадолго до его перезагрузки.

Что отображается, если вы отключаете устройство во время работы приложения? Что если вы выключите его? Что делать, если вы выполните полный сброс (Sleep + Home на 10 секунд)?

Если это приводит к перезагрузке устройства, происходит что-то серьезно неправильное. Ваше приложение не должно быть в состоянии отключить телефон, но иногда что-то проскальзывает (IIRC, UIImagePickerController на некоторых версиях 2.x имели проблему, когда либо ваше приложение было убито, либо телефон перезагрузился бы в зависимости от того, кто пнул первым). «Большой набор растровых изображений» звучит так, как будто это может привести к тому, что CoreAnimation (или IOSurface или что-то еще) исчерпает видеопамять.

Я бы не решался рисовать в фоновом потоке, если вы не очень осторожны с безопасностью потоков (в первом приближении CoreAnimation есть, а UIKit нет, за исключением нескольких функций, которые были сделаны «потоко-безопасными» в 4.0 ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...