GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere l'output da gdb.execute in PythonGDB (GDB 7.1)?

Quindi c'è un modo per ricevere l'output di un gdb.execute in GDB 7.1?

No.

La soluzione migliore è fare in modo che GDB-7.3 sia disponibile. Poiché GDB di solito non utilizza librerie condivise (oltre a libc e forse libpython), puoi semplicemente copiare gdb binary con il tuo script. Sarà una soluzione molto più semplice e gestibile rispetto all'alternativa che hai proposto.


Puoi scrivere su un file, quindi leggere il file, ad esempio:

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()

La vecchia versione di gdb.execute però era di gran lunga superiore.


Cordiali saluti ora (testato con gdb 8.1) puoi usare to_string parametro

https://sourceware.org/gdb/onlinedocs/gdb/Basic-Python.html

gdb.execute (command [, from_tty [, to_string]])

Per impostazione predefinita, qualsiasi output prodotto dal comando viene inviato all'output standard di GDB (e all'output del log se la registrazione è attivata). Se il parametro to_string è True, l'output verrà raccolto da gdb.execute e restituito come stringa. Il valore predefinito è False, nel qual caso il valore restituito è Nessuno.


Linux
  1. Come impedire a `ls` di ordinare l'output?

  2. Come eseguire Sh Script da un collegamento sul desktop?

  3. Come estrarre il tempo di durata dall'output di ffmpeg?

  4. Come ottenere il processo figlio dal processo padre

  5. Come reindirizzare l'output da grep a cp?

Come ottenere notizie istantaneamente dalla riga di comando in Linux

Come vedere l'output di uno script PHP?

come ottenere elementi dalla lista in bash?

come ottenere sha1sum per l'output binario?

Come ottenere netmask da bash?

Come posso ottenere un binario da un file .py