Я запускаю приложение с графическим интерфейсом пользователя Python. Я хочу вызывать GDB и управлять им из него, например, загружать исполняемый файл, устанавливать точки останова и т. Д. Я вижу, что GDB имеет интерфейс командной строки, который можно использовать, отправляя строки в процесс GDB, но я хочу сделать это способом Python . Есть ли gdb.py
? Я вижу, что в ветке «лучник» есть что-то вроде «import gdb», но это не работает в стандартной установке Python для Ubuntu. Где мне взять этот модуль или есть какой-либо другой способ управления GDB из Python?
2 ответа
Да, вы можете управлять GDB из Python. Документация Python находится по адресу http://sourceware.org/gdb/current/. onlinesocs / gdb / Python.html # Python.
Если вам нужен пример сценария, взгляните на http://tromey.com/blog/? p = 548
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 представляет собой гораздо более интересный пример.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.