GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener resultados de gdb.execute en PythonGDB (GDB 7.1)?

Entonces, ¿hay alguna forma de recibir el resultado de un gdb.execute en GDB 7.1?

No.

Lo mejor que puede hacer es hacer arreglos para que GDB-7.3 esté disponible. Dado que GDB generalmente no usa bibliotecas compartidas (más allá de libc y quizás libpython), puede simplemente copiar el binario gdb con su script. Esa será una solución mucho más fácil y fácil de mantener que la alternativa que propusiste.


Puede escribir en un archivo y luego leer el archivo, por ejemplo:

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

Sin embargo, la versión anterior de gdb.execute era muy superior.


FYI ahora (probado con gdb 8.1) puede usar el to_string parámetro

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

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

De forma predeterminada, cualquier salida producida por el comando se envía a la salida estándar de GDB (y a la salida del registro si el registro está activado). Si el parámetro to_string es True, la salida será recopilada por gdb.execute y devuelta como una cadena. El valor predeterminado es Falso, en cuyo caso el valor de retorno es Ninguno.


Linux
  1. ¿Cómo ejecutar Sh Script desde un acceso directo de escritorio?

  2. ¿Cómo extraer el tiempo de duración de la salida ffmpeg?

  3. ¿Cómo hago para que sed lea desde la entrada estándar?

  4. ¿Cómo puedo obtener valores únicos de una matriz en Bash?

  5. ¿Cómo ejecutar el script de Python desde Java?

Cómo obtener noticias al instante desde la línea de comandos en Linux

¿Cómo ver la salida de un script PHP?

¿Cómo obtener el nombre de host de IP (Linux)?

¿Cómo canalizar la salida de grep a cp?

¿Cómo obtengo mi dirección IP desde la línea de comandos?

Cómo obtener el nombre de usuario de uid