Как обрабатывать исключения SIGKILL, SIGABRT, Signal-0 через обработку исключений в программировании iPhone - PullRequest
6 голосов
/ 14 июня 2011

Я должен поймать исключение при возникновении исключений SIGKILL, SIGABRT, Signal-0.

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

Подскажите, пожалуйста, какой-нибудь пример кода для этого?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 24 августа 2011

Вы можете перехватить большинство необработанных исключений, зарегистрировав NSUncaughtExceptionHandler в своем делегате приложения.

Аналогично, вы можете перехватить большинство сигналов, используя sigaction или signal

Как видно из приведенных выше ссылок, вы не можете поймать сигналы типа SIGKILL и SIGSTOP.

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

0 голосов
/ 14 июня 2011

разработчики с java и фоном C # обязаны пойти на обработку исключений в iOS. У Apple есть несколько действительно хороших API для решения известных ошибок, но программа должна быть исключена (что, я знаю, сложно). Sigabrt обычно возникает, когда вы чрезмерно освобождаете объект, а SIGKILL обычно возникает, когда системы убивают ваше приложение из-за недостатка памяти. Итак, я предлагаю вам прочитать руководство по управлению памятью от Apple . Также вы можете перейти по этой ссылке и по этой ссылке. . У Apple есть класс, определенный для обработки исключений - NSException .

также ПОПРОБУЙТЕ УЛУЧШИТЬ СВОЮ СКОРОСТЬ ПРИНЯТИЯ.

Удачи.

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