Я пишу несколько скриптов Python для управления созданием моего C ++ проекта. В одном из этих сценариев я сгенерирую несколько заголовочных файлов, вызову GNU make с make-файлом для сборки проекта, а затем, в случае успеха, вызову gdb с моим исполняемым файлом. Мой вопрос: как я могу передать управление окном консоли GDB, чтобы я мог взаимодействовать с GDB напрямую, без вмешательства Python? (Или, возможно, конвейерный ввод и вывод через Python в реальном времени.) И как сценарий Python восстановит контроль над окном консоли после остановки gdb?
Используя подпроцесс, вы можете легко это сделать.
from subprocess import Popen
Popen('gdb a.out', shell=True).communicate()
print 'test'
как только вы выйдете из GDB, скрипт продолжит работу и напечатает «test».
Других решений пока нет …