Bonsoir,
je voudrais savoir comment désactiver l'initialisation par le débogueur des pointeurs sous Visual 2010.
(pour ne pas que les pointeurs soient à 0xcdcdcd ou 0xccccccc).
Merci.
Bonsoir,
je voudrais savoir comment désactiver l'initialisation par le débogueur des pointeurs sous Visual 2010.
(pour ne pas que les pointeurs soient à 0xcdcdcd ou 0xccccccc).
Merci.
En mode debug tu travailles dans un environnement virtualisé, ce que tu prends pour une initialisation est en fait une allocation dans cet environnement "vierge de précédente allocation". En effet un pointeur non initialisé aura toujours la valeur "aléatoire" contenu à l'adresse mémoire qu'il occupe.
Tu n'as qu'à les initialiser toi-même avec une autre valeur si tu ne veux pas de ce comportement.
C'est à toi d'initialiser tes pointeurs, sinon ils pointeront sur n'importe quoi et ton programmera plantera à quasi tous les voyages. Ne pas le faire est une faute de programmation.
Ah oui je sais bien, j'initialise toujours mes variables mais là ce n'est pas du code que j'ai écrit et je dois reproduire ce bug en debug, seulement comme un fait exprès, en debug ça fonctionne très bien
Mais là je ne peux pas m'amuser à initialiser tout ce qui n'est pas initialisé, j'ai des milliers de fichiers et ça marche bien comme ça (sauf exception comme mon bug actuel).
Du coup je cherche cette option, je l'ai déjà vue mais je ne l'ai jamais utilisée.
Une petite idée ? /GZ /Oz ...?
Vous ne prenez pas la tête, générez les informations de "debug" (les pdb) en Release. (Ca, c'est pour ne pas être comme un con quand le client vous envoie un dump post-mortem de votre application)
Lancer le débuggeur en Release, il fonctionne très bien même en Release.
Si le bug et sioux, genre il ne vient pas parce qu'en debuggee, le programme est trop lent, utilisez les mécanismes de dump automatiques et utilisez les fichiers pdb pour voir le problème, même en production.
Je tiens à signaler que cette "initialisation" en Debug est fort utile pour utiliser les primitives de détections de merdoillage mémoire en amont.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager