Per qualche motivo LLDB non mi mostra il contenuto delle variabili mentre sto passando il mio codice Swift. L'esecuzione effettiva funziona bene, ma non importa quello che cerco, non riesco a vedere il contenuto delle mie corde!Debugger Xcode 6 beta 2 che non mostra i contenuti delle variabili dopo la chiamata a String.componentsSeparatedByString
Ecco quello che vedo nell'elenco delle variabili:
A questo punto type
contiene "nome" e value
contiene "Logan". Ma non saresti in grado di dirlo guardando qui. Se utilizzo il pulsante "quick look", il valore è "(Nessuno)".
e ottengo questo tipo di parole senza senso quando si tenta di po
una stringa dalla console:
(lldb) po space
error: <REPL>:1:1: error: non-nominal type '$__lldb_context' cannot be extended
extension $__lldb_context {
^
<REPL>:11:5: error: 'Space.Type' does not have a member named '$__lldb_wrapped_expr_0'
$__lldb_injected_self.$__lldb_wrapped_expr_0(
^
Tuttavia, questo varia. A volte vado a prendere qualcosa di simile:
class name = __NSAtom
o
Printing description of [0]:
(String) [0] = {
core = {
_baseAddress = Builtin.RawPointer = 0x00000001004016f0
_countAndFlags = -4611686018427387894
_owner = Some {
Some = (instance_type = Builtin.RawPointer = 0x0000000100401820 -> 0x00007fff7b3d5390 (void *)0x00007fff7b3d5340: __NSCFString)
}
}
}
o
Printing description of declaration:
(String) declaration = <DW_OP_piece for offset 8: top of stack is not a piece>
... ma mai il reale contenuto della stringa!
Aggiornamento:
ho notato il problema sembra solo per iniziare che si verificano una volta una chiamata a componentsSeparatedByString()
viene effettuata nella funzione. (Questo accade proprio in alto così come stavo facendo un passo non mi sono accorto che il debugger mostra effettivamente il valore fino a questo punto.) Quindi qualcosa di strano sta succedendo con quella funzione. Ho aggiornato il titolo della domanda per riflettere questa nuova informazione.
È interessante notare che una volta che la stringa è stata "danneggiata" da questa chiamata, non è possibile visualizzarla da nessun'altra parte, anche se passata a una funzione diversa. E qualsiasi variabile stringa regolare non è visualizzabile. Sicuramente un bug, ma mi chiedo se c'è una soluzione alternativa. Sta diventando davvero difficile eseguire il debug del mio programma!
LOL non provare 'expr println (destinazione)'! XD – devios1