@Mark_Aizek

Как организовать интерактивный обмен данными (i/o) между консолью gdb и управляющим python-скриптом?

Добрый день. Требуется организовать управляющий модуль, который пишет данные в gdb и читает реакцию. В зависимости от ответа консоли для gdb формируются разные команды.
Суть задачи - автоматизация отладки. Особенность - к сожалению, это нужно под Windows.
Python не основной язык, попробовал async subprocess, что-то не взлетело.
Просьба направить в нужное русло:)
  • Вопрос задан
  • 305 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bbkmzzzz
p = subprocess.Popen('gdb.exe',
                 stdout=subprocess.PIPE,
                 stderr=subprocess.PIPE,
                 stdin=subprocess.PIPE)

while not p.poll(): # щупает процесс на предмет кода завершения, если кода нет - возвращает None
    print(p.stdout.readline()) # будет ждать целую строку из stdout
    p.stdin.write(b'testbytes') # напишет в stdin
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы