Kernel32.dll access violation [Résolu]

Signaler
Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008
-
Bonjour,
Je programme actuellement sous vc6 en utilisant les MFC.
Mon projet a l'air de prendre une bonne tournure mais j'ai depuis quelques jours une erreur lors de la fermeture de mon application.

First-chance exception in alpha3.exe (KERNEL32.DLL): 0xC0000005: Access Violation.

Le probleme c'est que dans mon cas le programme tourne parfaitement jusqu'a ce que je ferme la dialog box. Je n'ai meme pas besoin d'utiliser les fonctions de ma dialog box. il suffit que je la ferme pour voir ce message d'erreur apparaitre face a moi.
J'ai recherché un peu sur le net pour trouver des cas equivalents et j'en ai trouvé un: http://www.codeguru.com/forum/archive/index.php/t-400697.html
Cependant l'explication fournie n'est pour le moins pas tres précise.
Avaient vous deja ete confronté a ce cas? Si oui qu'avez vous fait pour le renvoyer au pays des bugs?
Merci pour vos retours d'experiences.

Andejen

4 réponses

Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008

Bon ben je viens de trouver la solution à mon problème. Il suffit de télecharger le SP5 de visual studio 6.
Si jamais ca peut aider quelqu'un...
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Lance ton programme en debug (F5 avec VC++), et regarde à quelle ligne est l'erreur.

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008

En mode debug je n'ai aucune erreurs lors de la compilation.  Le message d'erreur n'apparatit qu'a la fermeture de l'application.
J'ai ete regarde plus precisemment ce qui se passait avec le "call stack" et les lignes designées sont programmées en assembleur.
voila ce que me donne la fenetre de debug ->call stack:

<hr size="2" width="100%" />
->KERNEL32! 7c809783()
CAlpha3Dlg::~CAlpha3Dlg() + 107 bytes
CAlpha3App::InitInstance() line 97 + 28 bytes
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00141f32, int 1) line 39 + 11 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00141f32, int 1) line 30
WinMainCRTStartup() line 330 + 54 bytes
KERNEL32! 7c816fd7()
<hr size="2" width="100%" />
J'ai essayé de remonter dans ces differents appels afin de savoir un peu ce qui avait pu se derouler. Malheureusement les seules commandes c++ sur lesquelles je tombe sont des commande pre-ecrites VC6 lors de la creation de mon projet MFC.
Juste une chose a un peu attirer mon attention (mais il y a peut etre rien d'anormal....).
le pointeur suivant qui aurqit un problème pour pointer ma Dialogbox?
+    this    0x0012fa14 {CAlpha3Dlg hWnd=0x00000000}

Bon j'avoue etre un peu bloquer donc si quelau'un a la moindre idee, ou des conseils sur ma facon de debugger je suis evidemment fortement interessé.
Bonne journee a vous.

Andejen

NB: j'espere avoir ete clair dans mes explications
Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008

(désolé pour les grossières fautes d'orthographe....)
n'apparatit ->n'apparaît
attirer->attiré
aurqit ->aurait
bloquer->bloqué
quelau'un->quelqu'un