begin process at 2012 05 30 22:48:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Violation d'accès lors de la lecture


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Violation d'accès lors de la lecture

mercredi 16 juillet 2008 à 23:37:09 | Violation d'accès lors de la lecture

Arto_8000

Voici un petit bout que j'ai commencé ce projet en c++ avec SDL pour développer un jeu. Pour l'instant je veux simplement m'occuper de la gestion des interfaces et changement d'écran. Présentement, il y a bogue sur lequel je me casse la tête depuis quelques jours à savoir pourquoi.

Extrait du code :

SDL_Surface* ZoneDialogue::display()
{
    SDL_Surface *cDraw = NULL;
    SDL_Surface *tDraw = NULL;
    SDL_Rect zPos;
   
    cDraw = SDL_CreateRGBSurface(SDL_HWSURFACE, _width, _height, 32,0 ,0, 0, 0);
   
    if (_elements.size() == 0)
        return cDraw;

    for (unsigned int i=0; i < _elements.size(); i++)
    {
        zPos.x = _elements[i]->getPositionX();
        zPos.y = _elements[i]->getPositionY();
        zPos.h = _elements[i]->getHeight();
        zPos.w = _elements[i]->getWidth();
       
        tDraw = _elements[i]->display(); // Exception non gérée à 0x00417662 dans Interface.exe:0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0xccccccd0
        SDL_BlitSurface(tDraw, NULL, cDraw, &zPos);
        //SDL_FreeSurface(tDraw);
    }

    return cDraw;
}

J'ai débugger un peu ce problème sans grand succès. Tout ce que j'ai pu en tirer c'est que c'est l'appel de la fonction display qui sort la violation d'accès d'écriture, pourtant cette fonction existe et _elements[i] n'est pas un pointeur avec comme valeur 0x000000, sinon les 4 autres appels avant aurait planté bien avant de ce rendre à cette ligne.

Pour reproduire le bogue, simplement compiler le projet & quand la fenêtre ouvre clicker sur le bouton "Test". Il y a alors la deuxième interface qui s'affiche et l'affichage plante à cause du bogue.

Le projet est assez gros et surtout en plusieurs fichiers, et je trouve ça un peu inutile de tout mettre ça sur pastebin, alors j'ai fait un rar.
http://www.megaupload.com/fr/?d=T7ZDRT1U

L'extrait ce trouve dans le fichier Zones/zonedialogue.class.cpp lignes 74 à 98.
vendredi 18 juillet 2008 à 04:42:31 | Re : Violation d'accès lors de la lecture

Arto_8000

Réponse acceptée !
J'ai eu beaucoup de chance aujourd'hui, en cherchant sur le web à propos de cette emplacement "0xccccccd0" et en lisant le dernier message d'un forum un peu perdu, j'ai lu que l'emplacement 0xcccccccc veut dire que c'est quelque chose de non-initialisé. Ceci m'a mis sur la piste que peut-être l'élément n'était pas initialisé, ce qui me semblait totalement impossible puisque les quatre autres fonctions avant fonctionnait. Je suis quand même retourner voir où les éléments était ajouté à mon vecteur. Tout est fait normalement, sauf que j'ai compris que à la fin de la fonction l'élément était "flushé" même s'il y avait toujours un pointeur dessus qui était gardé. Pour les quatre autres fonctions, c'était des fonctions qui était hérité d'un autre classe et que même si l'élément était "flushé", il restait défini.

En résumé, à la fin de chaque fonction tout ce qui a été déclaré dedans est "flushé" et ce peu importe ce que vous avez fait avec. "0xcccccccc " ou tout ce qui peut ressembler à cela veut dire que c'est une variable non-initialisé.
lundi 7 septembre 2009 à 00:39:08 | Re : Violation d'accès lors de la lecture

vaz

Personne ne t'a répondu ... mais merci pour ton dernier post car, confronté à un problème analogue, il devrait m'aider à trouver la solution


avoir du temps libre et créer ... vaste programme



Cette discussion est classée dans : elements, sdl, violation, zpos, cdraw


Répondre à ce message

Sujets en rapport avec ce message

problème SDL [ par Synhok ] J'ai essayer le tut sur la librairie SDL et quand je compile avec DevC++, le linker me marque :C:\...\BIN\ld.exe: cannot open -lSDLmain: No such file Texte & SDL en mode Video [ par Gaelle ] Bonjour à tous,Je suis en train d'interfacer une application C à l'aide de SDL. Pour ce qui est de la gestion vidéo et évènements souris aucun problèm Access Violation [ par julok2 ] Salut,à l'exécution de mon programme, j'ai l'erreur suivante qui s'affiche :Unhandled exception in machin.exe : 0xC0000005 Access ViolationSi vous ave librairie SDL et coonio.h [ par gloom ] salut peuple svp qq1 opurrait t'il m'aider voila je cherche a afficher une photo sous console DOS pour cela je sait qu'il ¸faute une librairie SDL mai matrice carréé [ par justeroland ] j'ai besoin de l'aide au sujet de l'exercice suivant: une matrice carré est dite balancée si les sommes des elements de ses quatre triangles sont égal recuperation d'elements et introduction ds une page html [ par puce13 ] je voudrai savoir comment faire pour recuperer en c, tout les fichiers et documents du fichier courant (dir) et les mettre dans une page html dont je creer une table de hachage avec des elements d'un fichier texte [ par nedri ] bonjour!j'ai un projet a faire en C mais je ne suis pas très forte.j'ai realisé un traitement d'un fichier source en C d'ou je tire tous les identific Nombre d'elements dans une enum ??? [ par zeflat ] Yo,je cherche le moyen de connaitre dynamiquement le nombre d'elements presents dans une enumeration.Il y a un truc du style:enum TRUC{ ONE, TWO, T Prog MFC [ par thebestvinz ] Bonjour à tous, je viens de découvrir la programmation avec les mfc. Mon seul problème est que je n'ai jamais eu de cours la dessus. G pas mal de tuto erreur de violation access (violation d'acces) [ par pipic ] slt,J'ai une erreur de violation d'acces sous visual c++ à partir du code suivant (alors que ce code compile correctement sous dev cpp) :G déclaré la


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales