3psilon
Messages postés76Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention17 janvier 2005
-
26 juil. 2004 à 13:16
3psilon
Messages postés76Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention17 janvier 2005
-
26 juil. 2004 à 14:29
Slt,
J'aurais aimer avoir quelques informations sur les modes
debug et release de VC 6.
J'ai bien compris que, en mode debug, le compilo ajoute des informations afin de pouvoir debugger.
Dans mon programme, en mode debug tout ce passe bien, mais en release j'ai quelques bugs qui font planter l'appli.
Les bugs sont-ils corrigés automatiquement grace au mode Debug ??? ( j'en doute ...) ou alors les informations de debug peuvent - elles palier certaines erreurs d'allocation ou liberation memoire ?..j'en doute aussi ... mais alors pourquoi une telle difference entre ces deux modes pendant l'execution ?
Une autre question, conseilleriez-vous de passer en mode Warning 4 avant de tenter la release ?
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 26 juil. 2004 à 13:58
qd un programme plante a l'execution, c'est du a une mauvaise gestion de la mémoire (par exemple tu débordes dans un tableau, etc....).
en mode debug, mettons que si tu débordes du tableau, tu as plus de chances d'ecraser des donnees qui sont pas essentielles au programme (les info de debogage), alors qu'en release, c'est pas le cas et le programme a plus de chance de planter.
les deux programmmes sont incorrects, mais en debug ca plante un peu moins souvent (et les infos de debogage sont pas faites pr etre ecrasé par un code mal écrit, dc non ca n'est pas fait pour pallier a une mauvaise utilisation de la mémoire....)
voila prkoi ya une différence a l'execution.
et oui tu peux te mettre en warning niveau 4, mais un compilateur ne peut pas detecter les erreurs de débordement qui ont lieu a l'execution, dc ca va pa te corriger ton code.
pour trouver l'erreur, (si ca plante pas en debug), regarde les lignes de ton code qui traite de l'allocation, de la libération, et de l'affectation de qqc ds un tableau (ligne de la forme t[i] = 0, il faut vérifier que ton code ne permet pas que i soit plus gd que la taille du tableau t ne le permette).
voila a+ ;)
3psilon
Messages postés76Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention17 janvier 2005 26 juil. 2004 à 14:29
Ok, je te remercie
En effet, j'avais quelques petits bugs d'affection avec des tableaux.
Maintenant, j'ai un autre soucis sur le tri des listviews. Dans mon appli j'ai plusieurs listview et j'ai codé les fonctions pour effectuer le tri des listes sur les colonnes clickées.
En debug cela fonctionne parfaitement mais en release j'ai qq soucis sur les tris, cela ne plante pas mais le tri n'est pas correct....
Bon je vais essayé de résoudre ca et si je n'y arrive pas je reposterais un message :)