Betrachten Sie die folgenden gdb-Befehle, die dieselbe Textzeichenfolge ausgeben.Wie gib ich einen gdb.Value() von einem String zurück?
(gdb) print foo
(gdb) python print(gdb.lookup_symbol('foo'))
In diesem Fall gdb.lookup_symbol()
gdb.Value()
eine Instanz wie erwartet zurückkehrt und das stringification davon ist auf den Standard GDB stringification äquivalent.
Aber betrachten nun die folgenden äquivalenten Fall:
(gdb) print *&foo
Die *&
ist ein noop, aber ich versuche gdb.lookup_symbol('*&foo')
zu verwenden funktioniert nicht. Meine Frage ist also, ob es möglich ist, den Befehlszeilen-Dereferenzierungs-Parser von gdb aus Python zu verwenden, und dann eine gdb.Value
als Gegenleistung zu erhalten?
Dies war in der Tat genau das, was ich suchte. :-) –