程序接收到的信号是什么:SIGKILL 在分析设备上运行的应用程序并使用 xcode 分析器检测泄漏时意味着什么

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2170040/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 19:05:46  来源:igfitidea点击:

What does program received signal: SIGKILL mean when profiling an app running on device and using the xcode profiler to detect leaks

iphonexcodeprofilersigkill

提问by PeanutPower

What does program received signal: SIGKILL mean when profiling an app running on device and using the xcode profiler to detect leaks?

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

My app broke on a line calling drawInRect on a UIImage instance

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

top of call stack is CGGStateCreateCopy

调用堆栈的顶部是 CGGStateCreateCopy

采纳答案by t0mm13b

SIGKILLis a signal that is common across POSIX systems, such as in your iphone OS, which it issued the signal to your application. SIGKILL cannot be caught programmatically. Usually to kill a process involves entering this on the command line, remember you can do this to the processes that you own since you logged into the shell:

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

ps -elf | grep myprocess    

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

kill -1 9149

Depending on 'myprocess' and how the OS handles this, you will receive similar output as shown:

myprocess: received SIGKILL.
process terminated

Depending on what happened, it is likely when your profiler ran the code, it somehow killed your application whether by intentionally or unintentionally, judging by your question:

My app broke on a line calling drawInRect on a UIImage instance top of call stack is CGGStateCreateCopy

It is likely that drawInRectwas supplied with a parameter that was invalid...you need to check the parameters used for that function and verify it. That could be the very reason why the OS killed your application...

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

Hope this helps, Best regards, Tom.

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