Da quando ho aggiornato a xcode 4.3 e lascio che il mio debugger sia passato a lldb, qualsiasi richiesta di stampa di una variabile membro fallisce con questo messaggio di errore:lldb non riesce a stampare valori variabili con "errore: il riferimento a 'id' è ambiguo"
(lldb) print request
error: error: reference to 'id' is ambiguous
note: candidate found by name lookup is 'id'
note: candidate found by name lookup is 'id'
error: 1 errors parsing expression
'sé' è ok:
(lldb) print self
(LoginViewController *) $6 = 0x1cd54d50
e altre forme di stampa della variabile membro anche fallire:
(lldb) print self.request
error: property 'request' not found on object of type 'LoginViewController *'; did you mean to access ivar 'request'?
error: 1 errors parsing expression
(lldb) print self->request
error: error: reference to 'id' is ambiguous
note: candidate found by name lookup is 'id'
note: candidate found by name lookup is 'id'
error: 1 errors parsing expression
Tutto il resto sembra funzionare correttamente. La finestra delle variabili di Xcode può recuperare correttamente il valore. Ho provato una build pulita e cancellando ~/Library/Developer/Xcode/DerivedData /. Googling non ha rivelato altre istanze dello stesso problema.
ho trovato un thread sul forum dev di Apple, ma nessuna soluzione:
https://devforums.apple.com/message/623694
ho segnalato questo alla Apple come Bug ID # 11029004.
lldb è ancora un work in progress. – zaph
@Zaph Mi chiedo perché Apple lo abbia reso il debugger predefinito in XCode 4.3 se questo è il caso. – JosephH
Per qualche motivo, la possibilità di visualizzare ivars nel debugger ha una bassa priorità in Apple. Molte volte gli ivar creati creati automaticamente dalle istruzioni '@ property' o dichiarati in' @ implementation' non sono visualizzabili. Le cose stanno migliorando anche se lentamente. Si prega di inviare un bug a bugreport.apple.com. – zaph