IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

VC++ 6.0 exception 0xC0000005 (Access Violation) occurred in "c:\windows\system32\OLE


Sujet :

Windows

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut VC++ 6.0 exception 0xC0000005 (Access Violation) occurred in "c:\windows\system32\OLE
    Bonjour,

    Je poste ici ce message car il mesemble que c'est ici qu'il sera le mieux. Ca parle de C++ et de VC++, mais a mon avis, derriere ceci, c'est un probleme avec la OLE32.DLL.

    Je travaille sur la migration d'une application tournant sous W2K vers WXP SP2. Je suis embeté pour le moment par un exe qui crash. L'exe en question est un serveur OLE

    Sous W2k : tout va bien, ca fonctionne bien.

    Sous WXP SP2 : J'ai une erreur concernant ole32.dll à l'address 0x001245CD.
    Bien evidement, les details de l'erreur, c'est du chinois pour moi. Je lui
    ai donc fait un petit coup de Profile et j'ai obtenu le resultat suivant :

    00:01:16.875: First chance exception 0xC0000005 (Access Violation) occurred
    in "c:\windows\system32\OLE32.DLL" at address 0x776045CD by thread 1.
    00:01:16.875: Second chance exception 0xC0000005 (Access Violation) occurred
    in "c:\windows\system32\OLE32.DLL" at address 0x776045CD by thread 1.
    00:01:16.875: Thread 1 exited with code -1073741819 (0xC0000005).
    00:01:16.890: Thread 24 exited with code -1073741819 (0xC0000005).
    00:01:16.890: Thread 2 exited with code -1073741819 (0xC0000005).
    00:01:16.906: Thread 3 exited with code -1073741819 (0xC0000005).
    00:01:16.906: Thread 23 exited with code -1073741819 (0xC0000005).
    00:01:16.906: Exited "c:\program files\rtac\RTACSERVER.EXE" (process 0x354)
    with code -1073741819 (0xC0000005) by thread 25.
    00:00:02.344: Entrypoint reached. All implicit modules have been loaded.

    C'est deja plus clair non ? :-)

    Donc apparement (arretez moi si ma demarche n'est pas bonne), l'erreur se
    situe a l'addresse 0x776045CD. admettons. Un ptit coup de Dependency walker
    sur mon exe, dans la Module List View, si on classe les module par Prefered
    Base, on a OLE32.DLL a l'address 0x774E0000 sur un taille de 0x0013D000. si
    on prend l'address 0x776045CD, on lui soustrait 0x774E0000, on obtient
    0x001245CD. magique. Toujours dans Depedency Walker, on regarde dans le
    Export Function List View, et on cherche l'adresse 0x001245CD. Bien sur,
    elle n'existe pas. tout ce qu'on voit, c'est qu'a l'addresse 0x001225E8 il y
    a la fonction WdptInterfacePointer_UserMarshal. et a l'address 0x00124EE2 on
    a la fonction WdptInterfacePointer_UserUnmarshal.

    voila voila .. si qqn a compris qqch a ceci, et qu'il serait en mesure de me
    demystifier tout ca, je suis preneur.

    Pour l'instant je gratte du coté du Model COM/DCOM, a cause du Marshal. mais
    bon, je ne suis pas sur de moi.

    Merci de vos reponse ;-)

    Sébastien PELLE
    PS : J'ai deja essayé de recompiler sous XP, meme resultat ;-)

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Re-Bonjour,

    Qqs Nouveaux elements :
    L'instruction qui provoque cette erreur est l'instruction DispatchMessage(&msg);

    Mais ce qui est assez bizzarre c que en debug, l'instruction passe plusieurs fois avant de generer cette erreur.

    Je procede comme suit :
    1. lancement de mon serveur OLE
    2. une qui'il est lancé et qu'il a fini de faire ses petits gri-gri a droite a gauche je lance une appli qui contient un activex qui va se connecter au serveur.

    Jusqu'a maintenant ca va.

    3. quand j'ouvre ma page qui ctinet cet activex, là ca plante et ca donne le message du post precedent.

    Pour le moment, je mene des investigations coté serveur ET coté client.

    voila .. d'ici là, si vous avez des idées .. ;-)

    Seb.

  3. #3
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par sebastien_pelle
    Bien evidement, les details de l'erreur, c'est du chinois pour moi.
    Non c'est de l'assembleur et des adresses mémoires
    Toujours dans Depedency Walker, on regarde dans le
    Export Function List View,
    Si tu as un crash d'un coté et non de l'autre c'est que d'un coté tu exécutes un exe compilé en debug qui laisse passer les pointeurs non valides et de l'autre un exe compilé en release qui ne pardonne pas.
    Un exe compilé en debug donne plus de mémoire et une pile pour les variables plus grande qu'en release.
    La List View est mal initialisée il y a un pointeur qui vaut NULL

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/04/2008, 11h48
  2. Réponses: 2
    Dernier message: 20/11/2007, 10h38
  3. Réponses: 18
    Dernier message: 09/10/2007, 10h20
  4. 0xC0000005 Access violation à l'appelle de DLL
    Par mamwrya dans le forum Visual C++
    Réponses: 2
    Dernier message: 28/06/2007, 09h35
  5. [0xC0000005: Access Violation.]
    Par ARachid dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 24/04/2007, 23h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo