142 votes

Comment passer un argument de ligne de commande lors du démarrage de GDB sous Linux ?

Dans le cadre de mon travail, je dois déboguer un programme qui contient des erreurs. Cependant, je dois d'abord passer des arguments de ligne de commande afin de résoudre ce problème.

Je le fais :

gdb -tui InsertionSortWithErrors

ce qui fonctionne, mais après cela, je ne sais pas comment passer des arguments. J'ai utilisé gdb -help et ça dit quelque chose à propos de --args que j'ai également essayé et qui n'a pas fonctionné.

Je veux être en mesure d'obtenir le débogueur + l'interface graphique et de passer des arguments en ligne de commande.

238voto

ldav1s Points 6880

Une fois gdb démarre, vous pouvez exécuter le programme en utilisant "r Arguments ".

Donc si vous exécutez votre code par :

$ executablefile arg1 arg2 arg3 

Déboguez-le sur gdb par :

$ gdb executablefile  
(gdb) r arg1 arg2 arg3

116voto

Basile Starynkevitch Points 67055

Essayez

gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort

27voto

Alex Points 1171

J'utilise la version 7.1.1 de GDB. --help montre :

gdb [options] --args executable-file [inferior-arguments ...]

À mon avis, l'ordre est un peu difficile à comprendre au début.

26voto

Une autre option, une fois dans le shell GDB, avant d'exécuter le programme, vous pouvez faire

(gdb) set args file1 file2

et l'inspecter avec :

(gdb) show args

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X