2011-08-29 16 views
7

Quando si imposta un breakopint nel mio progetto e si fa clic sulla casella di controllo "continua dopo aver valutato tutte le azioni", Xcode non continua. Non solo, l'esecuzione sembra spesso bloccarsi. Questo è vero indipendentemente dal fatto che io abbia effettivamente o meno delle azioni sul punto di interruzione.Xcode si arresta ai punti di interruzione continua automatici

I punti di interruzione non autocontinuo funzionano correttamente.

Ho provato un progetto nuovo di zecca e il problema si è verificato ancora. Quindi deve essere correlato a un'impostazione nel mio computer o Xcode. Sto usando Snow Leopard e Xcode 4.0.2.

Quale potrebbe essere il problema?

MODIFICA: codice e log della console. Codice

:

- (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; 
} 

log della console:

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 

E 'interessante il fatto che, anche se l'ottimizzazione è stato fissato a nessuno, entrambe le istruzioni printf sparato.

+0

Il titolo e la descrizione sembrano essere in disaccordo. Il problema è che "Xcode [si ferma] ai punti di interruzione automatici" o che "Xcode non si ferma"? Se è il primo, ho esattamente lo stesso problema e spero che tu abbia una buona risposta! – clozach

+0

Si verifica in Xcode 4.1? –

+0

Penso davvero che @deanWombourne abbia ragione: probabilmente un bug. Ecco un test che ho appena fatto: 1) impostare un punto di interruzione da qualche parte in un'azione pulsante 2) modifica e imposta la riproduzione di un suono + auto-continua 3) avvia l'app: l'app si interrompe quando tocco il pulsante nel simulatore. 4) trascina il punto di interruzione lungo una linea: l'app continua, il simulatore arriva in primo piano e i successivi tocchi riproducono il suono senza interruzione. – clozach

risposta

1

Da quello che descrivi, sembra che potrebbe essere un bug in Xcode - segnalarlo here.

(Scusate la mia risposta non è più disponibile)

1

Potete incollare il vostro log della console. Verifica che la tua "Condizione" e "Azione" siano valide e senza errori. Ho appena provato questo con un'azione di resetAllAppData == NO ma il punto di interruzione non ha interrotto l'esecuzione perché "Azione" deve essere "resetAllAppData == false".

Questo è il log della console di un altro test:

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

ho ottenuto questo errore perché ho impostato il "Azione" del punto di interruzione di essere il "Debugger Command" po resetAllAppData e dal resetAllAppData non è un oggetto typedef signed char BOOL; non può eseguire l'azione e successivamente non si ferma al punto di interruzione.

2

Se si sta eseguendo l'app sul dispositivo, ho appena ottenuto questo per voi: Attualmente, i punti di interruzione per continuare automaticamente funzionano solo su simulatore, no su dispositivi.

Fonte: alcuni ingegneri Apple.

0

Questo stava succedendo anche a me. Ho notato che in un determinato punto di interruzione si fermava solo occasionalmente. Il punto di interruzione stava registrando un BOOL per console usando po. Ispezionandolo ho notato che si sarebbe fermato ogni volta che BOOL era 1 e si sarebbe fermato ad aggiungere al registro [no Objective-C description available]. Cambiandolo in qualcosa che impediva che il "bug" senza descrizione-disponibile portasse alla continuazione automatica.

Così ora sto usando qualcosa come:

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

Ci potrebbe essere una soluzione migliore e più breve, però.

Problemi correlati