2016-07-29 27 views
2

Wie die Ausgabe eines Py Skript übergeben, die ich in GDB unter Befehl ausgeführt:die Ausgabe eines Py-Skript zu einem anderen vorbei in GDB

(gdb)source myfilename.py 

zu einem anderen Py Skript myfilename2.py

ZB: Meinedat myfilename.py in GDB auf laufen bekomme ich die folgenden Ergebnisse

(gdb)source myfilename.py 
(gdb)print $function("input") 
(gdb)$1 = someoutput` 

Wenn ich will $ 1 als Eingabe für eine andere Py Skript übergeben, wie ich es tun tun.

Danke für die Hilfe.

Antwort

0

Sie können den Inhalt der GDB-Variablen $ 1 nicht für Ihre Programmeingabe verwenden, da der Programmstart von der Shell ausgeführt wird, nicht von gdb.

Sie können Ihr Skript-Ausgabe in Datei, starten gdb für die ausführbare Datei speichern und verwenden Sie den Befehl

(gdb)run <outputfile 

Oder eine Named Pipe verwenden, wie in this answer vorgeschlagen.

3

Ich bin mir nicht sicher, ob Sie andere Python-Programme in gdb ausgeben können, aber natürlich können Sie die Ausgabe eines Befehls wie folgt weitergeben.

(gdb) run "`python -c 'print "\xff\xff\xff\xff"'`" 

Vielleicht können Sie versuchen, die zweite Py-Datei anstelle des Befehls vorbei für seine Ausgabe in den ersten Py weitergegeben werden.