¿Sin excepción stacktrace en la consola bajo Xcode 4.2 / iOS 5?

En Xcode 3.xy iOS 4, si se señala una excepción no controlada en el emulador, se produce un seguimiento de la pila de excepciones (similar a Java) en la salida de la consola.

Cuando levanto una excepción no controlada en iOS 5 bajo Xcode 4.2, ejecutando exactamente el mismo código de aplicación, no se produce el seguimiento de la pila. (Sí descubrí cómo establecer un punto de interrupción de excepción, pero eso no produce el rastreo en la consola).

¿Es esto simplemente una configuración de Xcode que necesito hacer en alguna parte, o una "característica" de Xcode 4 / iOS 5? ¿Hay alguna forma de restaurar este bit de funcionalidad?

Actualiza

Desafortunadamente, agregando ununcaughtExceptionHandler no funciona. Aquí está el controlador:

void uncaughtExceptionHandler(NSException *exception) {
    NSLog(@"uncaughtExceptionHnadler -- Exception %@", [exception description]);
    // Because iOS 5 doesn't provide a traceback, provide one here
    NSLog(@"Stack trace: %@", [exception callStackSymbols]);
    // Let Flurry look at the error
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}                                               

(Resulta que ya estaba presente, para hacer lo Flurry, así que acabo de agregar el seguimiento de la pila).

Aquí es donde está habilitado (solo unas pocas líneas debajo de donde se declara el controlador):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Enable uncaught exception handler to dump stack and let Flurry log the exception
    NSUncaughtExceptionHandler* hdlr = NSGetUncaughtExceptionHandler();
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    NSUncaughtExceptionHandler* newHdlr = NSGetUncaughtExceptionHandler();

    // TODO: Test
    NSException* ex = [NSException exceptionWithName:@"AssertionFailure" reason:@"Test" userInfo:nil]; 
    @throw ex; 

Establecí puntos de interrupción para permitirme verificar los dos valores de manejador recuperados. El primero es nulo y el segundo es una dirección aparentemente válida. Pero cuando se lanza la excepción de prueba, el controlador (en el simulador de iOS 5) nunca obtiene el control. (Aunque cuando ejecuto el simulador de iOS 4.2, sí obtiene el control).

AjusteNSExceptionHandlingMaskparentemente, @ no es posible en iPhone. El prereqExceptionHandling.framework no está disponible

Update 2

Esto funciona

int main(int argc, char *argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = -1;
    @try {
        retVal = UIApplicationMain(argc, argv, nil, nil);
    }
    @catch (NSException* exception) {
        NSLog(@"Uncaught exception: %@", exception.description);
        NSLog(@"Stack trace: %@", [exception callStackSymbols]);
    }
    [pool release];
    return retVal;
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta