Что программа получает сигнал: SIGKILL означает при профилировании приложения, работающего на устройстве, и использовании профилировщика xcode для обнаружения утечек - PullRequest
3 голосов
/ 31 января 2010

Что означает сигнал, полученный программой: SIGKILL означает при профилировании приложения, работающего на устройстве, и использовании профилировщика xcode для обнаружения утечек?

Мое приложение оборвало строку, вызывающую drawInRect для экземпляра UIImage

вершиной стека вызовов является CGGStateCreateCopy

1 Ответ

2 голосов
/ 31 января 2010

SIGKILL - это сигнал, который распространен во всех системах POSIX, например, в вашей операционной системе iphone, и подал сигнал вашему приложению. SIGKILL не может быть пойман программно. Обычно для уничтожения процесса необходимо ввести это в командной строке, помните, что вы можете сделать это для процессов, которыми вы владеете, так как вы вошли в оболочку:

ps -elf | grep myprocess    

<p>Then to kill 'myprocess' by using the numeric process id based on the PID column from the previous output sample</p>

<pre>
kill -1 9149

В зависимости от «myprocess» и того, как ОС справляется с этим, вы получите вывод, подобный показанному:

myprocess: received SIGKILL.
process terminated

В зависимости от того, что произошло, вероятно, когда ваш профилировщик запустил код, он каким-то образом убил ваше приложение, преднамеренно или непреднамеренно, судя по вашему вопросу:

Мое приложение оборвало строку, вызывающую drawInRect для экземпляра UIImage вершиной стека вызовов является CGGStateCreateCopy

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

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

...