Bonjour, bonsoir
Je voudrais debogger mon programme qui, comme cela est explicité dans le titre, prend un argument de plusieurs lignes. Il s'agit en fait d'une chaîne d' hexa, genre \x01\x41\xff ect...
Je ne sais pas pourquoi mais il doit y avoir \r ou \n ou les deux dans le lot.
Résultat: l'argument que j'obtiens par ailleurs s'affiche sur plusieurs lignes dans le shell.
J'ai essayé les démarches suivantes:
1 2
| gdb monprog.c
(gdb) r copier/coller de la chaîne que j'ai affiché dans un autre bash |
puis
gdb --args monprog $(prog2)
La sortie de prog 2 est l'argument de monprog bien thur.
Il se passe que je trouve des intrus dans argv[1] par la suite. En effet, pas mal de \x20 (espace si je ne m'abuse) se sont incrustés.
Je ne renacle pas à utiliser python ou bash.
Cependant je dois dire je n'ai pas accès au paramètre --with-python dans gdb au cas
où ce serait utile.
Exemple de sortie de prog2 (j'ai mis des \r et \n exprès):
1 2 3 4
| #!/usr/bin/env python
buffer = "\xbf\xff\xfe\x33\x0atoto\x0dtiti\x0d\x0atutu"
print buffer |
Merci pour avoir lu jusqu'ici.
Merci pour vos réponses aussi
Partager