2010-07-09 12 views
6

Di solito uso gdb backtrace per eseguire il debug dell'applicazione, ma di recente non riesco più a eseguire il test sul simulatore di iPhone. La parola blu gdb smette di essere visualizzata sulla console e non accade nulla quando digito "bt" o "backtrace". Tuttavia, posso ancora creare e eseguire il debug correttamente sul dispositivo.Niente più gdb nella console XCode durante la compilazione per il simulatore di iPhone

La mia versione di XCode è 3.2.3. C'è un modo per attivare manualmente il gdb (più importante il backtrace)?

risposta

0

Se il programma è sospeso, questo è ciò che sembra. È possibile premere il pulsante "Pausa" nella console di debugger o nella finestra del debugger per interrompere l'app e vedere dove è attualmente in esecuzione.

+0

Generalmente, non appena avvio l'applicazione, la parola blu gdb dovrebbe apparire sulla console e, se l'app si arresta, posso utilizzare il backtrace. Ora non ho nulla di tutto questo. Pulisci, resetta il simulatore, riavvia il simulatore, riavvia XCode, riavvia Mac ... non aiutare, forse l'unica soluzione rimasta è reinstallare l'SDK. – iamj4de

+0

Quindi, Xcode ritorna semplicemente allo stato "non in esecuzione dell'app" (ovvero, il pulsante Attività sulla barra degli strumenti non è selezionabile) o il pulsante Attività rimane abilitato sulla barra degli strumenti? –

+0

Rimane abilitato. – iamj4de

1

Come sottolinea Jack, il pulsante Pausa attiverà manualmente gdb & la traccia posteriore, che è ciò che hai chiesto. Potresti avere una cattiva installazione - succede, a volte, prova a cancellare la tua cartella/Developer & re-installazione. XCode 3.2.3 e il debugger funzionano bene, lo uso più volte al giorno.

In particolare, CMD-Y è "costruire & corsa con debugger", mentre CMD-R è solo "costruire & run" (senza debugger, per impostazione predefinita), in modo da assicurarsi che si sta utilizzando CMD-Y.

A parte: un problema che continuo a subire è che, dopo che l'app si è chiusa, l'icona del segno di stop rosso non riconosce che l'app ha finito, quindi devo "fermarlo" di nuovo. Credo che ciò sia dovuto al fatto che iOS-4 mantiene le app in esecuzione in background.

0

Inoltre, controllare e assicurarsi che il file .gdbinit della cartella home sia in buono stato. Spostalo se esiste e vedi se il problema scompare.

0

Non so se questa è la stessa situazione esatta, ma può essere d'aiuto. Il mio iPhone era al firmware 4.0.2, ma il mio Xcode SDK era per il firmware 4.0.1. Normalmente Xcode si lamenterebbe che avrei dovuto eseguire l'aggiornamento a un Xcode più recente che supportava la 4.0.2, questa volta non lo fece.

Mi stavo sbattendo la testa perché i punti di interruzione potevano essere impostati ma il debugger non si fermava al mio punto di interruzione (i punti di interruzione erano arancione, segnalando che i simboli non erano caricati). Ho deciso di riavviare il mio iPhone e ora Xcode ha mostrato l'avviso (quando non lo ha fatto prima). L'aggiornamento a Xcode per la versione 4.0.2 ha risolto il mio problema, naturalmente. Quindi forse il tuo Xcode non è aggiornato per il firmware più recente?

0

Aveva un problema simile, ma non ricordo le circostanze esatte. L'SDK di base (nella scheda di creazione delle informazioni del progetto) è stato impostato sul dispositivo e non sul simulatore. Un po 'al buio, ma probabilmente vale la pena verificarlo.

+2

Non penso sia importante. Ho provato a passare l'SDK di base dal dispositivo al simulatore ma il problema persiste ancora e dalla mia memoria funzionava bene indipendentemente dal valore di SDK di base. – iamj4de

Problemi correlati