Debug Bar in sviluppo iOS6 App

Quando si genera e si esegue le applicazioni per iOS6 con punti di interruzione in Xcode, la barra Debug appare nella finestra di lavoro come il programma viene eseguito nel simulatore. Il programma si arresta l'esecuzione al primo breakpoint (se è stata impostata una condizione, che smette di esecuzione se tale condizione è soddisfatta).

Per controllare l'esecuzione, è possibile utilizzare la barra di debug (che si trova nella parte superiore dell'area di debug che si vede in figura). La barra di debug include pulsanti a

  • Aprire o chiudere l'area di debug. Come accennato in precedenza, è possibile nascondere l'area Debug se non ne hai bisogno per quello che stai facendo in questo momento.
  • Mettere in pausa o riprendere l'esecuzione di codice. Fare clic su questo pulsante per fermare il programma da eseguire o continuare l'esecuzione dopo si è fermato quando è entrato il debugger.
  • Passo sopra. Fare clic su questo pulsante per rendere il contatore processo (PC), che si identifica con la freccia verde nella grondaia, passare alla riga successiva di codice da eseguire. Se quella riga di codice invia un messaggio, invia il messaggio (ed eseguire il metodo) - ma poi, dal vostro punto di vista, si muove solo per la prossima linea di codice.
  • Passo in. Fare clic su questo pulsante per spostare il contatore processo alla successiva riga di codice da eseguire. Se la riga di codice invia un messaggio a un metodo nel codice sorgente, il debugger farà un passo al metodo e poi tornare alla successiva riga di codice dopo la riga che invia il messaggio.
  • Un passo fuori. Fare clic su questo pulsante per uscire dalla funzione corrente o il metodo. L'editor di origine visualizza il metodo che ha inviato il messaggio o chiamante della funzione.
  • Simulare posizione. Si può avere il debugger simulare la posizione del iPad per voi.

    Debug Bar in sviluppo iOS6 App

Perché una condizione è stata impostata qui che lo sviluppatore ha voluto il punto di interruzione per essere attivato solo se il networkstatus non è uguale a NotReachable, quando il programma ha funzionato come mostrato in questa figura, si può vedere che il programma ha interrotto l'esecuzione al punto di interruzione.

Il networkstatus è reachableViaWiFi come si può (a malapena) vedi in figura nel riquadro Variabili. Se poi si desidera guardare ciò che accade come l'applicazione esegue step-by-step, è necessario selezionare Step In, e le viene visualizzata la schermata mostrata.

Debug Bar in sviluppo iOS6 App

Si può vedere che l'istruzione

if (networkstatus == NotReachable) {

ha causato il debugger per passare alla riga successiva al blocco di codice che sarebbe stato eseguito se l'istruzione if valutato su YES e il debugger è stato sospeso alla riga vuota.

Questo perché l'istruzione if valutato NO - la networkstatus era reachableViaWiFi - e il blocco di codice è stato saltato:

if (networkstatus == NotReachable) {
UIAlertView * alert = [[alloc UIAlertView]
initWithTitle: @ "Rete non disponibile"
messaggio: @ "RoadTrip richiede una connessione a Internet"
delegato: nil
cancelButtonTitle: @ "OK"
otherButtonTitles: nil];
[Spettacolo alert];
}

Certo si sapeva che, dopo aver visualizzato il valore del networkstatus come raggiungibile.