Articles of GDB

gdb pasa el resultado en bruto de la evaluación a la función Python personalizada

amd64, regístrese $rdi es un puntero a “/home/il/gammu-git/src/gammu/libgammu/tls/x86_64/libpthread.so.0” Visto aquí un ejemplo: define foo py print gdb.execute(“output $arg0”, to_string=True).strip(‘”‘) end esperado: (gdb) foo (char*)$rdi /home/il/gammu-git/src/gammu/libgammu/tls/x86_64/libpthread.so.0 Sin embargo, el comando de output también imprime la dirección de la cadena: (gdb) foo (char*)$rdi 0x7fffffffe180 “/home/il/gammu-git/src/gammu/libgammu/tls/x86_64/libpthread.so.0

gdb python: ¿Alguien me puede explicar cómo usar este script escrito en esta publicación?

¿Cómo hacerlo por código de ca ..? Es posible..? Leí este post. También quiero hacer cosas similares, pero no puedo usar el script actualizado en el script GDB–Python de enlace : cualquier ejemplo que se repita en los campos de estructura C / C ++ Seguí los siguientes pasos para probar: el nombre de mi […]

GDB cv: problema con el objeto de Python al depurar un progtwig c ++

Al depurar un progtwig OpenCV de C ++, me gustaría ver una imagen en mi progtwig bajo GDB, quiero decir que me gustaría visualizar los datos bajo GDB. Por suerte tengo GDB con soporte python; He instalado Python 2.7.4, numpy library y la versión oficial 2.4.4 de opencv; He instalado el archivo de interfaz de […]

Cómo pasar argumentos a un script gdb de python lanzado desde la línea de comandos

Me gustaría pasar algunos argumentos de línea de comandos a un script de python ejecutado a través del comando gdb , pero al importar el módulo gdb en python se elimina el atributo argv de sys. ¿Cómo accedo a arg1 y arg2 dentro de mi script de python que se muestra en mi ejemplo? Ejecución […]

¿Cómo crear y usar múltiples tuberías dentro del mismo proceso con pexpect?

Estoy tratando de comunicarme con gdb de forma asincrónica usando pexpect. Si uso el mismo conducto para hacerlo, los comandos enviados utilizando la función sendline() de sendline() se mezclan entre sí. Y si lo sincronizo así: def send_command(str): global p with GDB_Engine.lock: p.sendline(str) p.expect_exact(“(gdb)”) Será demasiado lento ya que habrá un montón de comandos que […]

Cómo convertir un valor gdb en un objeto numérico de python mientras se depura el progtwig C

Estoy usando el módulo gdb de python2.6 mientras depuro un progtwig C, y me gustaría convertir una instancia de gdb.Value en un objeto numérico de python (variable) basado en el ‘Tipo’ de la instancia. Por ejemplo, convertir el SomeStruct->some_float_val = 1./6; mi progtwig SomeStruct->some_float_val = 1./6; a un gdb.Value de Python a través de sfv=gdb.parse_and_eval(‘SomeStruct->some_double_val’) […]

gdb python scripting: ¿dónde se ha ido `parse_and_eval`?

Tenía algunos scripts en Python para ayudarme a depurar con GDB que usaba la función gdb.parse_and_eval (aún documentada) para obtener los valores inferiores de los argumentos pasados ​​a un comando con script, y ahora el módulo no parece tener rastro de esa funcion Haciendo python import gdb; print dir(gdb) python import gdb; print dir(gdb) de […]

Cómo acceder a las claves o valores de Python GDB Value

Tengo una estructura en GDB y quiero ejecutar una secuencia de comandos que examina esta estructura. En Python GDB puede acceder fácilmente a la estructura a través de (gdb) python mystruct = gdb.parse_and_eval(“mystruct”) Ahora tengo esta variable llamada mystruct, que es un objeto GDB.Value. Y puedo acceder a todos los miembros de la estructura simplemente […]

Captura de segfault con depurador en Python

Quiero depurar un progtwig de Python que a menudo está bloqueado. Básicamente, mi progtwig ejecuta un servidor espía que acepta solicitudes SOAP. Mi progtwig es multihilo y, a veces, el cliente que utilizo para alcanzar los tiempos de espera. He probado varios depuradores como PUDB, PDB, WINPDB, PYSTUCK pero no pude detectar ninguna excepción de […]

Agregar listas de comandos de punto de interrupción en GDB controlado desde el script de Python

Estoy usando Python para controlar GDB a través de comandos por lotes. Así es como estoy llamando a GDB: $ gdb –batch –command=cmd.gdb myprogram El listado de cmd.gdb solo contiene la línea que llama al script de Python source cmd.py Y el script cmd.py intenta crear un punto de interrupción y una lista de comandos […]