2011-03-28 11 views
11

Ho appena scaricato xcode 4 di recente e ho letto la guida di transizione xcode, tuttavia, mi sto ancora chiedendo come ottengo la stessa funzionalità per debugger in xcode 4 come in xcode 3.2.Come visualizzare la riga esatta del codice che causa l'arresto anomalo dell'applicazione nel debugger xcode 4 come in xcode 3.2

Quando programma in xcode 3.2 ed eseguo la mia applicazione, se il mio codice causa un crash nel programma, posso semplicemente premere il comando + shift + y e visualizzerò la modalità debugger, che mostrerà quale linee che si blocca. Tuttavia, non riesco a ottenere questo lavoro per xcode 4.

So che posso vedere quale linea che effettivamente causa l'arresto guardando lo stacktrace, tuttavia, avendo quella funzionalità in xcode 3.2 mi salva davvero tempo. Mi chiedo solo se qualcuno sa come farlo anche in xcode 4.

risposta

29

È necessario aggiungere un punto di interruzione di eccezione. Selezionare il Breakpoint Navigator, fare clic sul pulsante Aggiungi (+) in basso, quindi scegliere Aggiungi punto di interruzione eccezione ... Ciò dovrebbe causare la sospensione del debugger ogni volta che incontra un'eccezione. Nota, è necessario attivare il pulsante Punti di interruzione (a destra del selettore Scheme nella barra degli strumenti). Nota anche, in Xcode 4, Run with breakpoints enabled è sinonimo di "Build and Debug" nelle versioni precedenti.

+1

Grande !!! Davvero, dovrebbe essere abilitato di default! Ho perso un sacco di tempo, eseguendo il debug line by line. –

+0

Non tutte le eccezioni sono a vostra cura. Considerare profonde eccezioni nel framework QTKit quando si ha a che fare con una telecamera. In molti casi, le eccezioni vengono generate e gestite generando un errore che dovresti catturare, gestire o presentare. A quel punto, il debugging assembly probabilmente non aiuterà; esaminare l'errore e provare a prendere misure correttive nella tua app è l'approccio migliore a livello della tua app, dal momento che sarebbe un evento di sistema inevitabile (dalla tua app). –

+0

Il mio punto è che Xcode non presenta molte ipotesi potenzialmente confuse su come si desidera che il debugger si comporti, ma rende facile capovolgere un interruttore e interrompere le eccezioni in Objective-C. –

Problemi correlati