J'ai un projet C++ où le beahviour en mode debug et release diffère. Par exemple. en mode release, j'obtiens de mauvaises erreurs d'allocation où en mode débogage, everthing fonctionne bien. Peut-être que cette différence vient de la vitesse d'exécution différente.Débogage sans débogage des symboles
Avez-vous des conseils et astuces pour déboguer un programme sans débogueur standard (comme gdb)? Je pourrais essayer d'utiliser beaucoup dans les domaines critiques, mais cela ne semble pas être le meilleur moyen d'y parvenir ... Peut-être qu'il existe un moyen d'obtenir des informations sur les emplacements de certains types d'erreurs sans utiliser de symboles de débogage? Y a-t-il des outils?
Êtes-vous sûr que la différence est traitée par le symbole de débogage? quelles sont les commandes de compilation pour générer des binaires de débogage/libération? – tristan
Vous pouvez avoir des symboles de débogage disponibles dans une version release et cela ne devrait pas du tout changer le comportement du programme. Si vous rencontrez des problèmes entre les versions de débogage/édition, il est probable que vous ayez un comportement non défini ou des variables non initialisées qui causent des problèmes. –
Une erreur d'allocation incorrecte est-elle une exception? Pouvez-vous attraper et enregistrer l'exception avec une pile de pile? Combien de mémoire chaque version utilise-t-elle réellement? – doctorlove