Вызов и управление GDB из Python

Я запускаю приложение GUI Python. Я хочу вызывать и управлять GDB, например загружать исполняемый файл, устанавливать контрольные точки и т.д. Я вижу, что GDB имеет интерфейс командной строки, который можно использовать, отправляя строки в процесс GDB, но я хочу сделать это способом Python, Есть ли gdb.py? Я вижу, что ветка "лучник" имеет что-то вроде "import gdb", но она не работает в установке Ubuntu по умолчанию Python. Где я могу получить этот модуль или есть какой-либо другой способ управления GDB из Python?

Ответ 2

pygdbmi - это то, что вы хотите.

С ним я смог reset внедренную цель из Python, используя следующее:

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 предоставляет гораздо более крутой пример.