Question

Je me demandais si je peux obtenir une liste d'options gcc qui peut causer gdb se comporter étrange.

Bien sûr, nous savons tous que l'utilisation des options d'optimisation (par exemple de -O3) provoque un comportement étrange dans gdb, mais quelles sont les autres options qui peuvent avoir un tel impact?

(J'essaie actuellement d'exécuter un décodeur MPEG-2 dans gdb et j'obtenir un comportement bizarre, même après le retrait des drapeaux d'optimisation ...)

Était-ce utile?

La solution

Je pense qu'il est difficile de dire ce que les drapeaux que vous utilisez lors de l'appel should't gcc pour le débogage. gcc docs noter que les indicateurs de débogage par défaut sont -g et -O2, et l'utilisation -g -O0 -fno-inline désactive toute inline d'optimisation et de la fonction.

À mon avis, si vous voulez vraiment guaratee que rien ne gâchera votre processus de débogage, il vous suffit de compiler avec des drapeaux de -g -O0 -fno-inline.

Autres conseils

Comme indiqué dans documentation de GCC , vous devez utiliser -og:

  

-og

     

Optimiser le débogage expérience. -Og permet des optimisations qui ne gênent pas le débogage. Il devrait être le niveau d'optimisation de choix pour le cycle édition-compilation de débogage standard, offrant un niveau d'optimisation raisonnable, tout en maintenant la compilation rapide et une bonne expérience de débogage.

Il décrit également chaque drapeau optmization et comment cela pourrait affecter le débogage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top