Использовать именованные каналы для отправки ввода в программу на основе вывода

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

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

Я хочу использовать именованные каналы в bash или python для этого.

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

    One Solution collect form web for “Использовать именованные каналы для отправки ввода в программу на основе вывода”

    Моя рекомендация – не делать этого. Вместо этого есть еще два способа поддержки:

    1. Напишите свой код в Python прямо в gdb. Gdb уже несколько лет расширяется в Python.

    2. Используйте подход gdb MI («машинный интерфейс»). Есть библиотеки, доступные для анализа этого уже (не уверен, есть ли в Python, но я так полагаю). Это лучше, чем синтаксический анализ вывода командной строки gdb, потому что некоторые меры принимаются во избежание беспорядочного поломки – это предпочтительный способ взаимодействия программ с gdb.

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