<Unable to determine byte size>
è il messaggio di errore (un po 'criptico) che LLDB stamperà quando non capisce il tipo di qualcosa.
Lasciatemi elaborare un po 'di più. Quando si digita un'espressione o si esegue una variabile frame, il debugger deve valutare il codice fornito dall'utente o cercare le variabili richieste.
Per presentarvi i risultati, deve anche capire il tipo di cose. Ad esempio, un Int è una cosa che ha un valore numerico le cui dimensioni corrispondono alla dimensione del puntatore sulla tua macchina, ... (beh, per essere precisi al 100%, un Int è una cosa che ha un membro che ha un valore numerico. .., ma LLDB riassume ciò che è lontano da te). Una stringa è una cosa che ha del testo (di nuovo, è un po 'più complicato, ma la LLDB lo riassume). Una delle cose che piace al debugger è la "dimensione in byte" di un tipo, come in quanti byte in memoria occupa un oggetto di questo tipo?
A volte, il debugger non può capire i tipi di cui si parla. Quando ciò accade, ovviamente, una delle cose che non possono essere determinate è la dimensione del byte. Quindi, il messaggio.
Se si esegue in situazioni in cui il debugger non può dedurre i tipi nelle tue app, è possibile inviare i bug http://bugreport.apple.com
fonte
2015-08-04 17:57:00
Sto avendo questo problema pure. Non solo per sé ma per molte variabili nel frame.Ho impostato SWIFT_OPTIMIZATION_LEVEL e GCC_OPTIMIZATION_LEVEL su Nessuno, come consigliato da altri, ma ciò non ha avuto alcun effetto. –
Sì, ho avuto questo problema con più di un semplice "io". La stampa completa di 'fr v' includerà spesso i dettagli di altre variabili in memoria e non avrà problemi a stamparle. Sospetto che ci sia un tipo di tipo di oggetto che il debugger non è in grado di analizzare, che è un membro di tutti i diversi oggetti che non riesco a stampare, ma non so quali proprietà avrebbe quel tipo di tipo di oggetto problematico causerebbe questo – Ziewvater