In basso a sinistra della finestra del codice in Xcode 4 è possibile vedere i controlli passo di debug. Ognuno ha un breve testo alternativo per spiegarlo. Spiegherò in modo leggermente più dettagliato qui. Imparare a diventare un debugger esperto è oggetto di molti libri di testo.
Il pulsante di riproduzione testo alternativo: Continua l'esecuzione del programma. Probabilmente lo hai già trovato. Premendolo si avanza al punto di interruzione successivo.
La freccia che salta alt text: Passaggio. Premendo ripetutamente questo pulsante, potrai avanzare attraverso il tuo programma al livello attuale di portata proprio come farebbe il tuo programma. Ti permetterà di osservare il comportamento del tuo programma passo dopo passo attraverso il metodo corrente. Al termine del metodo corrente, Step over ti condurrà al metodo di chiamata un passo avanti nello stack del programma.
Il testo alt della freccia in giù: Passaggio in. Premendo questo pulsante seguirà il nuovo metodo nel suo ambito e ti consentirà di visualizzare il codice nel metodo chiamato se è stato compilato per il debug. Ad esempio, facendo clic su questo sulla riga di codice corrente nella finestra di debug sopra riportata si passa al metodo _generateSources, che si può quindi procedere con Passaggio sopra.
Il testo della freccia su alt: Uscire. Ti porta fuori dal contesto corrente e nel metodo di chiamata un passo avanti nello stack del programma. Questo si comporta in modo identico alla fine di un metodo che usa Step over, esegue il programma normalmente ed esegue tutte le linee di codice nello scope originale che non hai eseguito il debug usando Step over.
Cliccare sulla silhouette con lo sfondo blu per vedere lo stack di chiamate corrente. Lo stack delle chiamate passerà sempre dall'ambito corrente al primo metodo chiamato per avviare il programma. Ogni metodo che vedi qui è stato chiamato in sequenza per raggiungere - [HelloWorldLayer init]. Quando si preme Esci quindi la riga corrente del codice di esecuzione tornerà a - nodo [nodo CCNode] e se si dispone della fonte per esso è possibile sfogliarlo.
A sinistra sono le variabili locali correnti visibili dall'ambito della riga di codice attualmente in esecuzione (riga 76 in questa immagine). Queste variabili rappresentano il modo in cui è possibile utilizzare i comandi precedenti come Passaggio su. background e winSize sono variabili locali che sono state definite in questo ambito e sono attualmente in uso. Quando l'obiettivo sarà chiuso, saranno spariti. _cmd è un puntatore al selettore attualmente richiamato in Objective-C: - [HelloWorldLayer init]. Non ne avrai bisogno finché non sarai un debugger avanzato.self è il puntatore a un oggetto che contiene tutti i ivar che appartengono alla classe attualmente in esecuzione, HelloWorldLayer e objc_super è un puntatore alla classe padre di HelloWorldLayer.
fonte
2012-10-02 20:18:25
questo è il motivo per cui i luv Xcode – Goldname