113 votes

Quelle est la difference entre gcc -ggdb et gcc -g

Lorsque j'utilise gcc pour compiler des programmes en c, J'ai l'habitude de les utiliser -g pour obtenir certaines informations de débogage dans le fichier elf de sorte que gdb peut m'aider quand c'est nécessaire.

Cependant, j'ai remarqué que certains programmes utilisent -ggdb, puisqu'il est censé le faire les informations de débogage plus gdb sympathique. (Et je suppose que c'est correct d'utiliser -ggdb depuis que j'ai débogage à l'aide de gdb...)

Mais je ne peux pas vraiment dire que je peux remarquer de différence quand je les utilise, quelqu'un peut-il me dire comment ils diff et ce qui est recommandé d'utiliser?

Merci Johan


Remarque: Un lien vers les options de Débogage de Votre Programme ou de la GCC, http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options

80voto

mrz Points 580

-g et -ggdb sont à peu près semblable, avec quelques légères différences, j'ai lu cela ici:

-g produit des informations de débogage dans le OS1s format natif (stabs, COFF, XCOFF, ou le NAIN 2).

-ggdb produit des informations de débogage spécifiquement prévu pour gdb.

-ggdb3 produit des informations de débogage supplémentaires, par exemple: y compris les définitions de macros. -ggdb par lui-même, sans préciser le niveau par défaut

-ggdb2 (c'est à dire, gdb pour le niveau 2).

42voto

luapyad Points 2680

Il est possible qu'il n'y ait pas de différence - dépend du format natif du système d'exploitation et de la portabilité des informations de débogage. Voir le manuel GCC Options de débogage .

9voto

DevSolar Points 18897

Une chose est que "-g" est portable (par exemple dans les Makefiles destinés à être exécutés sur des plateformes non-GNU). J'ai récemment eu un problème de portabilité concernant -g par rapport à -ggdb sur une machine AIX, c'est pourquoi je l'ai évoqué.

Aucune idée de ce que -ggdb ajoute à la convivialité, cependant.

5voto

vobject Points 1248

C'est l'explication officielle: http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options

Quelques faits concrets, mais intéressants quand même.

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