gdb pipe

gdb-depuración con entrada canalizada(no argumentos)



pipe (1)

Esta pregunta ya tiene una respuesta aquí:

Normalmente ejecuto mi programa con:

perl -e ''print "A"x200'' | ./vuln_prog

El stdin es consumido por una función gets() en C ++.

Si esto fuera solo un argumento de comando, podría abrir gdb haciendo:

gdb ./vuln_prog run $(perl -e ''print "A"x200'')

Sin embargo, mi escenario no es un argumento de comando, sino más bien de entrada (¿STDIN?). ¿Cómo puedo depurar esto en gdb? He intentado un montón de opciones, pero nada parece funcionar realmente.

Normalmente solo ejecutaba gdb en el proceso, y cuando solicita la entrada del usuario, tipea, sin embargo, no quiero escribir solo "A". Quiero escribir todos los caracteres desde / x00- / xff, que no puedo escribir.


gdb ./vuln_prog run < filename_with_input