6 votes

Gdb debug with more than one argument

J'ai un programme qui lit un fichier image, apporte des modifications sur cette image, puis la stocke.

Le programme s'exécute comme ceci:

./main file1.pgm file2.pgm

Je suis en train d'utiliser le drapeau -g afin de pouvoir utiliser GDB.

Maintenant, quand j'essaie d'exécuter GDB de cette manière

# gdb main file1.pgm file2.pgm

Je reçois cette erreur:

Excès d'arguments en ligne de commande ignorés. (file2.pgm)

Comment puis-je résoudre cela?

Mon programme principal a besoin de ces deux arguments.

7voto

0xC0000022L Points 9130

À partir de la ligne de commande comme ceci :

gdb --args ./main file1.pgm file2.pgm

run à l'invite de GDB peut être plus flexible si vous faites beaucoup de scripts.

1voto

geekosaur Points 26170

Ce n'est pas ainsi que vous passez des arguments à un programme à exécuter; il prend file1.pgm comme le nom d'un fichier de base.

Vous voulez utiliser, à l'intérieur de gdb,

gdb> :run file1.pgm file2.pgm

1voto

GoZoner Points 15679

Remplissez un fichier .gdbinit avec :

set args file1.pgm file2.pgm

ensuite simplement

gdb> run

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