Invoca y controla GDB desde Python

Estoy ejecutando una aplicación GUI de Python. Quiero invocar y controlar GDB desde él, como cargar un archivo ejecutable, establecer puntos de interrupción, etc. Veo que GDB tiene una interfaz de línea de comandos que se puede usar enviando cadenas al proceso de GDB, pero quiero hacerlo de la manera Python . ¿Hay un gdb.py ? Veo que la twig “archer” tiene algo como “importar gdb”, pero no funciona en la instalación predeterminada de Python en Ubuntu. ¿Dónde obtengo este módulo o hay algún otro método para controlar GDB desde Python?

Sí, puedes controlar GDB desde Python. La documentación de Python se encuentra en http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Python .

Si desea un ejemplo de algunos scripts, eche un vistazo a http://tromey.com/blog/?p=548

pygdbmi es lo que quieres.

Con él pude restablecer un objective incrustado desde Python usando lo siguiente:

 from pygdbmi.gdbcontroller import GdbController if __name__ == '__main__': gdbmi = GdbController() response = gdbmi.write('b main') response = gdbmi.write('target remote localhost:2331') response = gdbmi.write('mon reset 0') response = gdbmi.write('c') 

gdbgui proporciona un ejemplo mucho más fresco.