2011-04-05 2 views
0

Question très basique. Je veux déboguer la version de mon exe. Ma version de débogage fonctionne bien. Mais la version de publication s'écrase comme d'habitude. Tout outil ou débogueur disponible à cet effet serait d'une aide précieuse.version de débogage C++ version

+0

Quelle est la saveur de C++ que vous utilisez? GC, VC ou autre chose? – Aamir

+2

Vous devez mentionner le système d'exploitation, l'architecture, le compilateur, etc. que vous utilisez. –

+0

@Paul R: exe signifie probablement MSVC. –

Répondre

4

Vous pouvez toujours activer les informations de débogage en mode édition et utiliser un débogueur comme d'habitude. Rien de particulier ici, sauf que l'ordre des instructions aura parfois l'air bizarre lors du débogage en raison d'optimisations.

Bonne chance, le débogage des bogues en mode de libération est fastidieux.

+0

également en mode release, le débogueur est susceptible de passer par-dessus, ou de ne pas vouloir entrer dans beaucoup de sources, car il a été optimisé si fort que l'assemblage résultant ne semble plus avoir beaucoup en commun avec la source – stijn

0

Je vous recommande d'ajouter une sorte de système de journalisation ou de points de trace pour localiser la source du plantage. Le débogueur peut vous tromper lors du débogage de la version. Vous pouvez également élever le niveau d'avertissement de votre compilateur pour voir certains suspects habituels tels que l'utilisation de variables unitalisées.

0

Je vous recommande d'exécuter exe sous un débogueur de mémoire, tel que Rational Purify ou BoundsChecker. Il détectera les bogues liés à la mémoire dans votre code, le cas échéant.

Questions connexes