gdb-débogage avec entrée pipée (pas d'arguments) [dupliquer]

cette question a déjà une réponse ici:

j'exécute généralement mon programme avec:

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

le stdin est consommé par une fonction gets() en C++.

si ce n'était qu'un argument de commande, je pourrais ouvrir gdb en faisant:

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

Cependant, mon scénario n'est pas un argument de la commande, mais plutôt d'entrée (STDIN?). Comment déboguer ce dans gdb? J'ai essayé plusieurs options, mais rien ne semble marcher.

je voudrais normalement lancer gdb sur le processus, et quand il invite l'utilisateur à entrer, tapez-le, Cependant je ne veux pas taper juste"A". Je veux taper tous les caractères de \x00 - \xff, que je ne peux pas taper.

61
la source

1 ответов

gdb ./vuln_prog
run < filename_with_input
85
répondu zed_0xff 2011-12-08 00:47:30
la source

Autres questions sur