3

当分析设备上运行的应用程序并使用 xcode 分析器检测泄漏时,程序收到信号:SIGKILL 是什么意思?

我的应用程序在 UIImage 实例上调用 drawInRect 时中断了

调用堆栈的顶部是 CGGStateCreateCopy

4

1 回答 1

2

SIGKILL是一个在 POSIX 系统中常见的信号,例如在您的 iphone OS 中,它向您的应用程序发出信号。SIGKILL 无法以编程方式捕获。通常要杀死一个进程需要在命令行中输入这个,记住你可以对你登录到 shell 后拥有的进程执行此操作:

ps-精灵 | grep 我的进程    

然后使用基于上一个输出示例中的 PID 列的数字进程 id 来终止“myprocess”

杀死-1 9149

根据“myprocess”以及操作系统如何处理这个,您将收到类似的输出,如下所示:

myprocess:收到 SIGKILL。
进程终止

根据发生的情况,很可能当您的分析器运行代码时,它以某种方式故意或无意地杀死了您的应用程序,从您的问题来看:

我的应用程序在 UIImage 实例上调用 drawInRect 时中断了 调用堆栈的顶部是 CGGStateCreateCopy

很可能drawInRect提供了一个无效的参数...您需要检查用于该函数的参数并验证它。这可能就是操作系统杀死您的应用程序的原因......

希望这会有所帮助,最好的问候,汤姆。

于 2010-01-31T01:30:51.133 回答