2011-11-26 16 views
7

Utilizzo Xcode per sviluppare applicazioni iPhone da un paio d'anni. Negli ultimi due mesi ho aggiornato Xcode 4.2 per lo sviluppo di iOS 5.Altri arresti anomali non specificati su Xcode 4.2

Nelle versioni precedenti di Xcode ho trovato molto raro che si verifichi un arresto anomalo senza alcun registro in cui si è verificato l'errore. Con Xcode 4.2/iOS 5 trovo che mi capita regolarmente di andare in crash senza alcun log. Ho appena finito con il codice interrotto in main.m con un messaggio come "programma ricevuto segnale SIGABRT" (o un paio di altri messaggi) ma nessun messaggio di registro. (Sto guardando nella finestra "All Output" nella parte inferiore del gui Xcode).

Ad esempio, il mio ultimo era dove ho usato il metodo initWithNibName: bundle: ma ho digitato il nome del pennino errato. Il codice ha superato questa riga senza errori, ma quando sono arrivato al comando pushViewController: animated: il codice si è bloccato con il messaggio SIGABRT ma nessun messaggio di registro. C'è voluto un po 'per me di trovare il mio errore di battitura ...

Sono sicuro che nelle precedenti versioni di Xcode vorrei vedere un messaggio molto più informativo ...

c'è qualcosa che mi manca in Xcode 4.2? Devo abilitare alcune funzionalità di debug aggiuntive? Qualche modo per farlo dare più utili informazioni sugli arresti anomali? O questo è un problema con iOS 5/Xcode 4.2?

Grazie per tutti i puntatori ...

+0

Errore insoddisfatto: 10500195 – zaph

risposta

1

Non siete soli, ho trovato anche questo. Trovo spesso che non ci siano informazioni sufficienti nel registro per diagnosticare l'arresto anomalo con l'ultimo xcode. Ho due suggerimenti che potrebbero aiutare.

  1. Eseguire sul dispositivo effettivo. Spesso trovo che per qualche motivo ottengo registri più dettagliati quando si blocca sul dispositivo.

    Nel peggiore dei casi, è possibile accedere all'organizzatore e controllare i registri degli arresti anomali del dispositivo, in questo modo si otterrà il thread che si è arrestato in modo anomalo e quello che si chiama stack quando si è arrestato.

  2. Passare tra il compilatore GDB e LLVM e/o il debugger. Non ho sperimentato abbastanza con questo, ma credo che questo abbia aiutato in alcune occasioni.

+0

Grazie. Sono contento di sapere che non sto impazzendo! :) – MrMikeT

Problemi correlati