2016-08-31 4 views
0

Ich möchte eine LLDB-Funktion definieren, die 2 Befehle gleichzeitig ausführt (z. B. Variablenwert drucken und zur nächsten Zeile wechseln). C-Code Debugging mit GDB ich dies tun würde:Was entspricht der Definition von GDB in LLDB?

(gdb) def f 
Type commands for definition of "f". 
End with a line saying just "end". 
>p i 
>n 
>end 
(gdb) f 

Aber versuchen, das gleiche mit LLDB funktioniert nicht:

(lldb) def f 
error: 'def' is not a valid command. 
error: Unrecognized command 'def'. 

Gibt es eine Möglichkeit, es zu tun?

Antwort

1

Von http://lldb.llvm.org/tutorial.html:

LLDB hat auch einen integrierten Python-Interpreter, der durch das "Script" Befehl zugänglich ist. Die gesamte Funktionalität des Debuggers ist als Klasse im Python-Interpreter verfügbar. Daher können die komplexeren Befehle, die Sie in gdb mit dem Befehl "define" einführen würden, durch Schreiben von Python-Funktionen mit der lldb-Python-Bibliothek und anschließendes Laden der Skripte erfolgen in Ihre laufende Sitzung und greifen Sie mit dem Befehl "script" darauf zu.