2012-12-18 13 views
5

Attualmente sto sviluppando Cocos2d-x con Xcode. Ma non so come esaminare l'effettiva classe dell'oggetto C++ con LLDB. Come puoi vedere nell'immagine, l'ispettore di Xcode conosce la classe reale ma non lo è p o po.Come esaminare la classe effettiva dell'oggetto C++ con LLDB?

Quindi la domanda è: come esaminare l'effettiva classe dell'oggetto C++ con LLDB?

LLDB knows the actual class

+0

Cosa intendi per "classe di verità"? –

+0

Penso che intenda "classe reale". Il C++ non ha informazioni sul tipo, cioè normalmente le classi C++ non sanno cosa siano. I buoni debugger usano la formattazione del tipo per aggirare questo comportamento, LLDB ha un formato di descrizione del tipo, questo potrebbe aiutare un po ': http://lldb.llvm.org/varformats.html – LearnCocos2D

+0

@JoachimPileborg Ho aggiornato le domande;) È "effettivo classe". – HKTonyLee

risposta

5

Questo perché l'interfaccia utente di Xcode ha "tipi dinamici" abilitato di default. I tipi dinamici sono il gergo LLDB per "Sto andando a capire il tipo effettivo di questo oggetto". Al fine di ottenere lo stesso comportamento alla console, si potrebbe provare a digitare

(lldb) Variabile frame -d run-bersaglio pObject

Nel LLDB open source, si potrebbe anche scrivere

(lldb) expr -d run-target - pObject

+0

Grazie! La tua risposta funziona! :) – HKTonyLee

Problemi correlati