2012-05-23 17 views
6

Non sono sicuro di quello che ho fatto, da quanto tempo è passato così (come ho sopportato per un po ') ... ma ho perso la traccia dello stack nel debugger in Xcode. ..una specie di. Di seguito è riportato uno screenshot di quello che vedo quando la mia applicazione si blocca:Dov'è finita la traccia dello stack?

enter image description here

E nella console vedo questo:

enter image description here

Così riesco a capire cosa è andato storto dal console, ma mi manca la traccia dello stack che potrei fare clic sui file di classe e saltare alla fonte del crash.

Potrebbe essere LLDB? Ultimo Xcode? Qualcos'altro che ingoia le mie eccezioni? Qualche idea?

+0

è possibile controllare questa discussione, potrebbe essere questo vi aiuterà. Ho fornito una soluzione rapida lì - http://stackoverflow.com/questions/10707453/why-are-my-crash-reports-not-symbolicated/10707555#10707555 – rishi

+0

No questo non aiuta. Questo registra l'eccezione alla console, che ho già. Grazie comunque. – bandejapaisa

+0

Potrebbe essere 'backtrace' ?: http://stackoverflow.com/questions/1336469/xcode-global-breakpoints-dont-show-stack-trace –

risposta

4

Il problema è che il debugger non si arresta quando si verifica l'eccezione, si arresta quando il programma si arresta in modo anomalo. Questo accade dopo che l'eccezione svolge lo stack, il che significa che la fonte non è più lì. Se si desidera arrestare il debugger prima che lo stack venga svolto, è necessario impostare un punto di interruzione quando viene generata l'eccezione. Xcode rende questo facile. Vai alla sezione punti di interruzione nella finestra del progetto.

enter image description here

Quindi, fare clic sul pulsante + nell'angolo in basso a sinistra e scegliere "Aggiungi eccezione Breakpoint ...". Assicurati che il nuovo punto di interruzione sia impostato per il trigger al lancio, o che si verificherà ancora dopo lo srotolamento dello stack.

enter image description here

+0

Lo uso occasionalmente e" on throw "è l'interruzione predefinita punto che ti dà comunque. È un suggerimento molto utile, che aiuta davvero a spezzare alcuni di quelli cattivi. Spesso lo spengo perché sto rilevando alcune altre eccezioni e ignorandole (suona male, ma non lo è) - e questo punto di interruzione continua a interrompere i miei test. – bandejapaisa

Problemi correlati