2012-12-18 3 views
5

Ich entwickle jetzt Cocos2d-x mit Xcode. Aber ich weiß nicht, wie man die tatsächliche Klasse von C++ - Objekten mit LLDB untersucht. Wie Sie auf dem Bild sehen können, kennt der Xcode-Inspektor die tatsächliche Klasse, aber oder po nicht.Wie untersucht man die tatsächliche Klasse von C++ - Objekt mit LLDB?

Die Frage ist also: Wie untersucht man die tatsächliche Klasse von C++ - Objekt mit LLDB?

LLDB knows the actual class

+0

Was meinst du mit "Wahrheitsklasse"? –

+0

Ich denke, er meint "tatsächliche Klasse". C++ hat keine Typinformation, dh C++ - Klassen wissen normalerweise nicht, was sie sind. Gute Debugger verwenden Typformatierung, um dieses Verhalten zu umgehen, LLDB hat ein Typenbeschreibungsformat, das könnte ein wenig helfen: http://lldb.llvm.org/varformats.html – LearnCocos2D

+0

@JoachimPileborg Ich habe die Fragen aktualisiert;) Es ist "tatsächlich Klasse". – HKTonyLee

Antwort

5

Dies liegt daran, die Xcode UI "dynamische Typen" standardmäßig aktiviert ist. Dynamische Typen sind LLDB-Ausdrücke für "Ich werde den tatsächlichen Typ dieses Objekts herausfinden". Um das gleiche Verhalten an der Konsole zu erhalten, könnten Sie versuchen

(LLDB) Framevariable -d Laufziel pObject

In der Open-Source-LLDB eingeben, erhalten Sie auch

geben könnte (lldb) expr -d Laufziel - pObject

+0

Danke! Deine Antwort funktioniert! :) – HKTonyLee

Verwandte Themen