Вызов и управление GDB из Python - PullRequest
24 голосов
/ 14 августа 2010

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

Ответы [ 2 ]

18 голосов
/ 16 августа 2010

Да, вы можете управлять GDB из Python. Документация Python по адресу http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Python.

Если вам нужен пример некоторых скриптов, взгляните на http://tromey.com/blog/?p=548

4 голосов
/ 07 июля 2017

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...