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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Points : 23
    Points
    23
    Par défaut "0xc0000005 access violation" quand je démarre l'executable directement mais pas quand visual studio debug
    Bonjour a tous,

    bah à peut prêt tout est dans le titre en gros je suis sur un projet perso depuis plusieurs mois et j'avais jamais essayer de démarrer directement l’exécutable et cette après midi j'ai essayer et j'ai aucune fonction qui fonctionne quand j’attache depuis vs2010 il me dis qu'il a crasher a la toute première fonction et par simple curiosité j'ai commenter re-compilé et réessayer d'ouvrir l'exe et ça a donné le même résultat j'ai quand même essayer de commenter les fonctions suivante mais tout crash ...

    alors il y a quand même une petite précision qui a son importance c'est que les fonctions appelées se situent dans des dll et sont des méthodes (d'objets)

    pour ce qui concernent la création des dll j'utilise les déclaration préprocesseur du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef DLL_TEST_EXPORTS
    #define DLL __declspec(dllexport)
    #else
    #define DLL __declspec(dllimport)
    #endif
    et j'inclus les ".h" la ou j'enai besoin

    je tiens à rappeler que ca fonctionne quand je clique sur la flèche verte qui ressemble à un play dans vs2010 .

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    A tout hasard essaie de mettre le nom de ta DLL dans Propriétés_de_config > Editeur_de_liens > Avancé > DLL_chargées_en_différé_sans_liaison.

    Sinon compare les différences d'options entre Debug et Release pour essayer d'identifier d'option problématique.

  3. #3
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Il y a 99% de chances que tu aies des variables non initialisees et comme en debug dans visual studio elles sont initialisees a 0/nullptr, alors tu ne les vois pas.

    Ton programme crash certainement en release d ailleurs.
    Verifie tous tes pointeurs membres de classes, il doit y en avoir qui ne sont pas initialises.

  4. #4
    Membre actif Avatar de Rewpparo
    Homme Profil pro
    Amateur
    Inscrit en
    Décembre 2005
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 170
    Points : 281
    Points
    281
    Par défaut
    Souvent dans les libs tu as également une fonction init() ou quelque chose du genre. Ca peut crasher si tu l'appelle pas, et miraculeusement réussir en débug.

  5. #5
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par Rewpparo Voir le message
    Souvent dans les libs tu as également une fonction init() ou quelque chose du genre. Ca peut crasher si tu l'appelle pas, et miraculeusement réussir en débug.
    Ce qui reviens à dire que la bibliothèque a le même problème que je cite.


    Pour être plus précis, l'erreur citée dans le titre veux dire: "On a tenté d'accéder à de la mémoire non allouée".

    Le plus probable, comme je disais, est un objet non initialisé, certainement un pointeur (puisque ce sont les plus faciles à oublier). Le fait que ce soit différent avec le débuggueur m'encourage dans mon diagnostique.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    merci pour vos réponses.

    j'ai trouver une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
    					 )
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }
    mais je ne sais pas ce que je doit faire avec ????

Discussions similaires

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

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