Help ! Version Win32 release tombe en erreur [VisualC++ 6] - C++ - Programmation
Marsh Posté le 04-03-2005 à 01:38:44
debugview + OutputDebugString()
http://www.sysinternals.com/ntw2k/ [...] view.shtml
Marsh Posté le 04-03-2005 à 14:41:51
Humm, ca n'a peut-etre rien a voir, mais je suis deja tombe sur une erreur de ce genre mais avec du visual studio.net
Chez moi, j'avais des fuites memoires avant meme l'entree dans le main de mon appli, chose que j'ai pu constater en utilisant le fabuleux logiciel boundchecker...
Evidement, en release, ces fuites se transformaient en crash violent...
Apres de lonnnnnnnngues recherche, le probleme venait finalement des options de compilations de certaines librairies incluses dans le projet, donc rien a voir avec mon code.
Je suis desole, je n'ai pas sous la main de visual donc je vais tenter de t'orienter dans la bonne voie!
En gros, dans les options de compilations d'un projet visual, tu as 4 possibilites differentes pour inclure les lib standard: as shared lib, as shared lib multithread, as ddl, as ddl multithread (de memoire ca doit etre ca)
Meme si ce reglage parait anodin, crois moi, si tu as du linkage statique ca change tout!
Donc, verifie si tu utilise des librairies statiques que celles-ci utilisent bien la meme option pour se linker avec les libs std, juste en corrigeant ca, j'ai resolu mon probleme a la base insolvable (d'autant plus lorsque tu ne possede que les binaires de tes libs...
En esperant t'avoir aide...
Marsh Posté le 10-03-2005 à 09:25:21
Eurêka ! j'ai trouvé !!!
Après avoir défait progressivement toute mon application, classe par classe, fonction par fonction, j'ai enfin trouvé le bug.
Une saloperie !!!
Je suis le coupable !
J'avais ajouté, à la classe CMainFrame, une nouvelle fonction définie par "void OnActivate();", alors quexiste dans cette classe la fonction membre "afx_msg void OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized );"
Cette dernière est la fonction associée au message WM_ACTIVATE.
Le mode debug est visiblement capable de distinguer la nuance à faire entre ces deux définitions, pas le mode release. Mon application déraillait bien après avoir exécuté cette fonction doù la difficulté à circonscrire le problème.
Il ma suffi de définir void Activate(); à la place de void OnActivate();
Deux lettres à retirer pour remettre sur les rails mon application.
Cest si simple quand on a trouvé laiguille dans la meule de foin !!!
Merci beaucoup à ceux qui ont tenté de maider.
Marsh Posté le 01-03-2005 à 13:27:44
Je suis complètement bloqué !!! Help !
Jai développé une application en phase finale de peaufinement et damélioration.
Je tente de générer le code définitif de cette application.
La version "Win32 release" tombe en erreur sur le message : "First-chance exception in PermutMatrix.exe: 0xC0000005: Access Violation" alors quen mode debug tout marche bien.
Cette erreur apparaît alors que jusquici la version "Win32 release" avait toujours fonctionné sans problème.
Je narrive pas à trouver ce qui produit cette erreur.
Elle intervient très tôt dans la mise en place de lapplication, lors de la création de la MainFrame au cours de CMainFrame::Oncreate( ), lors de la création des barres doutils et de contrôle.
Jai vérifié tous mes pointeurs, éliminé un maximum de code pour restreindre lapplication et cerner le problème. Rien.
Jen suis arrivé à soupçonner que lerreur ne vient pas directement de mon code mais de son environnement, de la gestion des ressources, de la partie précompilée que sais-je encore
Quel protocole employer en pareil cas ?
Dans quelle direction chercher ?
Auriez-vous un début de piste à me suggérer ?
Comment vous y prendriez-vous ?
Sans le debugger je suis complètement démuni.
Merci pour votre aide.
Xuarac vous salue bien !