2011-08-29 10 views
7

Cuando me puse un breakopint en mi proyecto, y haga clic en "continuar después de evaluar todas las acciones" casilla de verificación, Xcode no continúa. No solo eso, la ejecución parece colgarse con frecuencia. Esto es cierto independientemente de si tengo alguna acción en el punto de interrupción o no.Xcode está parando a continuación automática los puntos de interrupción

Mis puntos de interrupción no auto-continuar funcionan bien.

probé un nuevo proyecto marca y el problema todavía se produjeron. Por lo tanto, debe estar relacionado con una configuración en mi computadora o Xcode. Estoy usando Snow Leopard y Xcode 4.0.2.

¿Cuál podría ser el problema?

EDIT: código y registro de la consola.

código:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [self.window makeKeyAndVisible]; 
    int x = 5; 
    printf("%d", x); // breakpoint here with autocontinue checked and no action 
    x+=2; 
    printf("%d", x); 
    return YES; 
} 

registro de la consola:

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all 
Attaching to process 87901. 
Pending breakpoint 1 - ""AutocontinueTestAppDelegate.m":21" resolved 
Current language: auto; currently objective-c 
57 

Es interesante que a pesar de que la optimización se establece en ninguno, ambos printf dispararon.

+0

Tu título y descripción parecen estar en desacuerdo. ¿El problema es que "Xcode [se detiene] en los puntos de interrupción automáticos" o que "Xcode no se detiene"? Si es el primero, tengo el mismo problema y tengo la esperanza de que obtengas una buena respuesta. – clozach

+0

¿Esto ocurre en Xcode 4.1? –

+0

De hecho, creo que @deanWombourne podría tener razón: probablemente sea un error. Aquí hay una prueba que acabo de hacer: 1) establecer un punto de interrupción en alguna parte de una acción de botón 2) editar y configurar para reproducir un sonido + auto-continuar 3) ejecutar la aplicación: la aplicación se detiene cuando toco el botón en el simulador. 4) arrastre el punto de interrupción por una línea: la aplicación continúa, el simulador se pone en primer plano y los toques posteriores reproducen el sonido sin detenerse. – clozach

Respuesta

1

De lo que describes, parece que podría ser un error en Xcode - reportarlo here.

(Lo siento mi respuesta no es más útil)

1

¿Puede pegar el registro de la consola. Verifique que su 'Condición' y 'Acción' sean válidos y sin error. Acabo de probar esto con una acción de resetAllAppData == NO pero el punto de interrupción no detuvo la ejecución porque la 'Acción' debe ser 'resetAllAppData == false'.

Este es el registro de la consola de otra prueba:

Attaching to process 23361. 
warning: Error parsing breakpoint condition expression 
Pending breakpoint 1 - ""iPhoneAppDelegate.m":50" resolved 

Tengo este error porque me puse la "acción" del punto de ruptura a ser el "Comando depurador" po resetAllAppData y desde resetAllAppData no es un objeto typedef signed char BOOL; no puede ejecutar la acción y, posteriormente, no se detiene en el punto de interrupción.

2

Si está ejecutando su aplicación en el dispositivo, acabo de conseguir esto para usted: Actualmente, los puntos de interrupción auto-continuos solo funcionan en el simulador, no en los dispositivos.

Fuente: algunos ingeniero de Apple.

0

Esto me estaba pasando a mí también. Noté que en un punto de ruptura dado, solo se detenía ocasionalmente. El punto de interrupción estaba registrando un BOOL en la consola usando po. Al inspeccionarlo noté que se detendría cada vez que ese BOOL fuera 1, se detendría y se agregaría al registro [no Objective-C description available]. Cambiarlo a algo que impidió que el "error" no disponible para la descripción resultara en la continuación automática.

Así que ahora estoy usando algo como:

po (NSString *)[NSString stringWithFormat:@"%d", isCenterActive] 

Puede haber una solución mejor y más corto, sin embargo.

Cuestiones relacionadas