2017-09-05 2 views
0

In unserer Codebasis verwenden wir libfixmath, eine Bibliothek zur Berechnung von Gleitkommawerten basierend auf seiner. Daher sind die Werte selbst alle darunter, aber wir möchten, dass unser Debugger sie als Float anzeigt, wenn Sie an einem Haltepunkt anhalten.LLDB Debugger - Definieren Sie benutzerdefinierte Typen anzeigen

Wir verwenden AppCode als IDE unter OSX und machen Apps für iOS in C++ und Objective-C, wenn das wichtig ist.

Wie können wir das erreichen?

Antwort

1

lldb bietet eine Möglichkeit, benutzerdefinierte Formatierungen für bestimmte Typen bereitzustellen. Schauen Sie hier für weitere Details:

http://lldb.llvm.org/varformats.html

Die einzige Einschränkung ist, dass diese Anlagentypen Karten -> Formatierungsoptionen. So können Sie Dinge wie "Wenn ich ein int in einem Kontext sehe, behandeln Sie es als float", können Sie nur für alle Eingänge tun. Aber wenn Sie einen Wrappertyp haben, der die fraglichen Ints enthält, könnten Sie ziemlich einfach einen Formatierer schreiben, der den Inhalt des Wrappertyps neu interpretiert.

Die LLDB-APIs rendern Werte unter Verwendung der oben beschriebenen Datenformatierern sowie alle Befehlszeilenbefehle, die Daten darstellen. AppCode kann die lldb-Implementierung der gdb-MI-Schnittstelle verwenden, und ich denke nicht, dass dies die Datenformatierer unterstützt. Daher können Sie die Ergebnisse möglicherweise nicht in ihrer lokalen Ansicht sehen.

Verwandte Themen