Я запускаю приложение GUI Python. Я хочу вызывать и управлять GDB, например загружать исполняемый файл, устанавливать контрольные точки и т.д. Я вижу, что GDB имеет интерфейс командной строки, который можно использовать, отправляя строки в процесс GDB, но я хочу сделать это способом Python, Есть ли gdb.py
? Я вижу, что ветка "лучник" имеет что-то вроде "import gdb", но она не работает в установке Ubuntu по умолчанию Python. Где я могу получить этот модуль или есть какой-либо другой способ управления GDB из Python?
Вызов и управление GDB из Python
Ответ 1
Да, вы можете управлять GDB с Python. Документация Python находится в http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Python.
Если вам нужен пример некоторых сценариев, посмотрите http://tromey.com/blog/?p=548
Ответ 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 предоставляет гораздо более крутой пример.