51 votes

Comment afficher la valeur d’une <optimized out=""> variable en C++ ?</optimized>

J’utilise gdb pour déboguer un programme C++.

J’ai ce code :

et je veux voir la valeur de x. Cependant, gdb affirme que x est «  ». Comment afficher la valeur de x ? Dois-je modifier les indicateurs de mon compilateur ?

19voto

Gigi Points 2858

Si vous ne pouvez pas ou ne voulez pas désactiver l’optimisation, vous pouvez essayer de déclarer la variable comme volatile. Ceci est généralement suffisant pour que votre compilateur préserve la variable dans le code final.

Alternativement, dans les versions récentes de GCC, vous pouvez désactiver l’optimisation pour une seule fonction, comme celle-ci:

1voto

Créez votre propre « variable globale » et imprimez la variable optimisée dans cette variable globale. Assurez-vous de supprimer ces globaux créés par vous une fois que vous avez terminé le débogage!

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