Comment puis-je passer d'un argument de ligne de commande lors du démarrage de GDB dans Linux?
J'ai pour déboguer un programme qui comporte des erreurs dans le cadre de ma mission. Cependant, je dois d'abord passer des arguments de ligne de commande afin de résoudre ce problème.
Je fais:
gdb -tui InsertionSortWithErrors
qui fonctionne, mais après ça, je ne sais pas comment passer des arguments. J'ai utilisé gdb -help
et ça dit quelque chose à propos de --args
qui j'ai aussi essayé et ça ne fonctionne pas.
Je veux être en mesure d'obtenir le débogueur+l'interface graphique et de passer des arguments de ligne de commande.
Vous devez vous connecter pour publier un commentaire.
Une fois
gdb
commence, vous pouvez exécuter le programme à l'aide de "r args".Donc, si vous exécutez votre code par:
De débogage sur
gdb
par:program --option1 --option2=argvalue
donc dans gdb j'ai tapé:r --option1 --option2=argvalue
Ce n'était pas évident pour moi au début.r
stands pour la commande gdbrun
, et vous pouvez voir d'un peu d'aide en tapanthelp run
tandis que dans gdb.Essayer
gdb -h
, qui à son tour est mentionné dans la page de man.-h
de sortie, au moins sur certaines versions d'Ubuntu. Cela peut se produire, surtout si l'homme de fichier pour une commande n'est pas mis à jour aussi souvent que le code source qui analyse la-h
option.Je suis en utilisant gdb 7.1.1, comme
--help
spectacle:À mon humble avis, l'ordre est un peu pas intuitif au premier abord.
$ gdb --args <executable> <argument(s)>
. J'ai malencontreusement ajouté des guillemets autour de tout ce qui est après--args
chose qui conduisent causé gdb pour analyser l'ensemble de la chose que l'exécutable.--args
. Si c'était de l'épeautre--run
il serait très intuitiveUne autre option, une fois à l'intérieur gdb shell, avant d'exécuter le programme, vous pouvez le faire
et l'inspecter avec