Как использовать Python для создания подпроцесса GDB и отправки команд динамически на основе вывода?

Вот общий пример того, что мне нужно сделать:

Например, я бы инициировал обратную трассировку, отправив команду «bt» в GDB из программы. Затем я бы поискал слово «pardrivr» и получил номер строки, связанный с ним, используя регулярные выражения. Затем я буду вводить «f [line_number_of_pardriver]» в GDB. Этот процесс будет повторяться до тех пор, пока в конечном итоге не будет получена правильная информация.

Я хочу использовать Python для этого, создав подпроцесс GDB. Затем я хочу отправить команды в GDB и прочитать вывод из GDB. Я бы использовал вывод для отправки дополнительных команд в GDB динамически на основе содержимого вывода.

Может ли кто-нибудь объяснить простой пример того, как это сделать?

Спасибо огромное!

One Solution collect form web for “Как использовать Python для создания подпроцесса GDB и отправки команд динамически на основе вывода?”

Использовать Pexpect: http://pexpect.readthedocs.org/ru/latest/examples.html

Более базовым вариантом является использование subprocess.Popen().communicate() :

http://pymotw.com/2/subprocess/#popen2

Python - лучший язык программирования в мире.