<Unable to determine byte size>
to (oczywiście nieco tajemniczy) komunikat o błędzie, który LLDB wydrukuje, gdy nie rozumie typu.
Pozwolę sobie trochę bardziej rozwinąć. Po wpisaniu wyrażenia lub wykonaniu zmiennej ramki debugger musi ocenić dowolny dostarczony kod lub wyszukać zmienne, o które prosiłeś.
Aby przedstawić Państwu wyniki tego działania, musi on również zrozumieć typ rzeczy. Na przykład Int jest rzeczą, która ma wartość liczbową, której rozmiar odpowiada rozmiarowi wskaźnika na twoim komputerze, ... (cóż, aby być w 100% dokładnym, Int jest rzeczą, która ma element członkowski, który ma wartość liczbową. .., ale LLDB streści to od ciebie). String to rzecz, która ma trochę tekstu (znowu jest trochę trudniej, ale LLDB to streszcza). Jedną z rzeczy, którą debugger lubi znać, jest "rozmiar bajtu" typu, ponieważ ile bajtów w pamięci zajmuje obiekt tego typu?
Czasami debugger nie może zrozumieć typów, o których mówi. Kiedy tak się dzieje, oczywiście jedną z rzeczy, których nie można określić, jest rozmiar bajta. Stąd też wiadomość.
Jeśli napotkasz sytuacji, gdy debuger nie może wywieść typów w aplikacjach prosimy zgłaszać błędy http://bugreport.apple.com
Mam również ten problem. Nie tylko dla siebie, ale dla wielu zmiennych w ramce.Ustawiłem SWIFT_OPTIMIZATION_LEVEL i GCC_OPTIMIZATION_LEVEL na None, jak zalecają inni, ale to nie przyniosło efektu. –
Tak, mam problem z czymś więcej niż tylko "self". Pełny wydruk 'fr v' często zawiera szczegóły innych zmiennych w pamięci i nie ma problemu z ich wydrukowaniem. Podejrzewam, że istnieje jakiś rodzaj obiektu, którego debugger nie jest w stanie przeanalizować, który jest członkiem wszystkich różnych obiektów, których nie mogę wydrukować, ale nie wiem, jakie właściwości tego rodzaju problematycznego typu obiektu miałby spowodowałoby to. – Ziewvater