python asynchronous gdb pexpect

python - ¿Cómo crear y usar múltiples tuberías dentro del mismo proceso con pexpect?



asynchronous gdb (0)

Intento comunicarme con gdb de forma asíncrona utilizando pexpect. Si utilizo el mismo conducto para hacerlo, los comandos enviados usando la función sendline() de sendline() se mezclan entre sí. Y si lo sincronizo así:

def send_command(str): global p with GDB_Engine.lock: p.sendline(str) p.expect_exact("(gdb)")

Será demasiado lento, ya que habrá toneladas de comandos entrando. Entonces, lo que quiero hacer es implementar diferentes conductos para cada bloque send_command() luego cerrarlo cuando el trabajo finalice. De esta forma, el texto generado por los comandos sendline() no se mezclarán entre sí y también podré ejecutar cosas de manera asíncrona.