Od czasu aktualizacji do Xcode 4.3 i pozostawienia mojego debuggera na lldb, każde żądanie wydrukowania zmiennej składowej nie powiedzie się z powodu tego komunikatu o błędzie:lldb nie drukuje wartości zmiennych z "error: reference to" id "jest niejednoznaczne"
(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
'ja' jest ok:
(lldb) print self
(LoginViewController *) $6 = 0x1cd54d50
i innych form drukowania zmienną składową też nie:
(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
Wszystko inne wydaje się działać dobrze. Okno zmiennych Xcode może poprawnie pobrać wartość. Próbowałem czystej kompilacji i usuwania ~/Library/Developer/Xcode/DerivedData /. Googling nie ujawnił żadnych innych przypadków tego samego problemu.
znalazłem jeden wątek na forum dev Apple, ale nie rozwiązanie:
https://devforums.apple.com/message/623694
Ja zgłosiłem to do Apple jako Bug ID # 11029004.
lldb wciąż jest w toku. – zaph
@Zaph Zastanawiam się, dlaczego Apple zrobił domyślny debugger w XCode 4.3, jeśli tak jest. – JosephH
Z jakiegoś powodu zdolność wyświetlania ivars w debugerze ma niski priorytet w Apple. Wiele razy ivars, które są tworzone automatycznie przez instrukcje '@ property' lub deklarowane w' @ implementacji ', nie są wyświetlane. Sprawy stają się coraz lepsze, choć powoli. Proszę zgłosić błąd na stronie bugreport.apple.com. – zaph