【发布时间】:2015-04-15 13:28:32
【问题描述】:
我正在尝试处理崩溃,当发生崩溃时,我想将一些日志存储到文件中。
到目前为止我尝试的是
void InstallUncaughtExceptionHandler()
{
NSSetUncaughtExceptionHandler(&HandleException);
signal(SIGABRT, SignalHandler);
signal(SIGILL, SignalHandler);
signal(SIGSEGV, SignalHandler);
signal(SIGFPE, SignalHandler);
signal(SIGBUS, SignalHandler);
signal(SIGPIPE, SignalHandler);
}
static void SignalHandler (int signo) {
//...
NSLog(@"\n Inside Signal Handler Method...");
}
void HandleException(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
因此,当我收到 BAD_ACCESS 异常时,控件不会进入信号处理程序方法。
我在 AppDelegate 的 applicationDidFinishLaunching 方法中调用了这个 InstallUncaughtExceptionHandler() 方法
谁能指出我做错了什么?或任何处理异常和信号的建议..
【问题讨论】:
标签: objective-c macos exception signal-handling