Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在目标C中处理类似SIGSEGV的信号_Ios_Objective C_Memory - Fatal编程技术网

Ios 在目标C中处理类似SIGSEGV的信号

Ios 在目标C中处理类似SIGSEGV的信号,ios,objective-c,memory,Ios,Objective C,Memory,我在我的应用程序中遇到了SIGSEGV异常,我的应用程序因此崩溃。我希望处理这些信号,使我的应用程序在运行时不会崩溃,而是处理这些异常,使应用程序平稳运行 我正在为我的应用程序使用ARC,我也没有处理release或retain语句,现在我很难找到为什么应用程序要访问它无法访问的内存或无效内存 此外,应用程序一直在崩溃,这种情况很少发生,比如说在20个会话中,它只发生1到2次,但问题就在那里,非常令人恼火。SIGSEGV是一种分段错误。在获得一个应用程序后,您的应用程序无法顺利运行。实际上,应用

我在我的应用程序中遇到了SIGSEGV异常,我的应用程序因此崩溃。我希望处理这些信号,使我的应用程序在运行时不会崩溃,而是处理这些异常,使应用程序平稳运行

我正在为我的应用程序使用ARC,我也没有处理release或retain语句,现在我很难找到为什么应用程序要访问它无法访问的内存或无效内存


此外,应用程序一直在崩溃,这种情况很少发生,比如说在20个会话中,它只发生1到2次,但问题就在那里,非常令人恼火。

SIGSEGV
是一种分段错误。在获得一个应用程序后,您的应用程序无法顺利运行。实际上,应用程序根本无法保持运行

您可以使用信号处理程序处理信号,如下所示

// register a signal handler
signal(SIGSEGV, SignalHandler);

static void SignalHandler (int signo) {
     //...
}

但这并不能防止应用程序崩溃。

SIGSEGV
是一个分段错误。在获得一个应用程序后,您的应用程序无法顺利运行。实际上,应用程序根本无法保持运行

您可以使用信号处理程序处理信号,如下所示

// register a signal handler
signal(SIGSEGV, SignalHandler);

static void SignalHandler (int signo) {
     //...
}

但这并不能防止应用程序崩溃。

正确的方法是在发布前调试并修复错误。使用Zombies工具查找在解除分配后发送对象消息的情况。使用静态分析器识别ARC无法处理的情况下的内存管理错误(例如Core Foundation)。正确的方法是在发布前调试并修复错误。使用Zombies工具查找在解除分配后发送对象消息的情况。使用静态分析器识别ARC无法处理的情况下的内存管理错误(例如Core Foundation)。但是使用
open()
write()
close()
,将调用堆栈写入日志文件完全可以,对吗?但是使用
open()
将调用堆栈写入日志文件完全可以,
write()
close()
,对吗?