Existuje tedy způsob, jak získat výstup souboru gdb.execute v GDB 7.1?
Ne.
Nejlepším řešením je zajistit dostupnost GDB-7.3. Protože GDB obvykle nepoužívá sdílené knihovny (mimo knihovny libc a možná libpython), můžete pomocí skriptu zkopírovat binární soubor gdb. To bude mnohem jednodušší a udržitelnější řešení než alternativa, kterou jste navrhli.
Můžete zapisovat do souboru a poté soubor číst, například:
os.system("rm tmp.txt")
gdb.execute("set logging file tmp.txt")
gdb.execute("set logging on")
mainsec=gdb.execute("info proc mappings")
gdb.execute("set logging off")
mainsec = open("tmp.txt").read()
Stará verze gdb.execute však byla mnohem lepší.
Pro informaci (testováno s gdb 8.1) můžete použít to_string
parametr
https://sourceware.org/gdb/onlinedocs/gdb/Basic-Python.html
gdb.execute (command [, from_tty [, to_string]])
Ve výchozím nastavení je jakýkoli výstup vytvořený příkazem odeslán na standardní výstup GDB (a do výstupu protokolu, pokud je protokolování zapnuto). Pokud je parametr to_string True, výstup bude shromážděn gdb.execute a vrácen jako řetězec. Výchozí hodnota je False, v takovém případě je návratová hodnota None.