クラッシュイベントを受け取って何かしたい場合は、 NSSetUncaughtExceptionHandler() にハンドラ関数のポインタを渡すだけ。
NSSetUncaughtExceptionHandler(&exceptionHandler);
例外発生時に実行するハンドラ関数は、こんな感じで実装します。
(下記サンプルでは、スタックトレース結果をログ出力しています)
void exceptionHandler(NSException *exception)
{
NSString *trace = [[exception callStackReturnAddresses] componentsJoinedByString:@"\n"];
NSLog(@"Stack: (\n%@\n)", trace);
}