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

Ogre Discussion :

Debug Assertion Failed lors de l'éxécution


Sujet :

Ogre

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 68
    Points
    68
    Par défaut Debug Assertion Failed lors de l'éxécution
    Bonjour j'ai commencé le tuto concernant le moteur Ogre3D. Je rencontre un problème lors de l'éxécution. En débugage j'ai pu déterminer la ligne de code qui fait planter le programme. Le programme m'affiche le message d'erreur lors de cette ligne : ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
    J'ai vérifié le code précédent (celui qui récupère les informations dans le fichier ressource.cfg) il me récupère bien les informations contenues dans le fichier.

    Voici le message d'erreur affiché : Debug Assertion Failed
    Expression : Vector iterator not dereferencable

    Voici mon code source :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #include <Ogre.h>
     
    using namespace Ogre;
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #endif
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
       INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
    #else
       int main(int argc, char *argv[])
    #endif
       {
    		try
    		{
    			Root* root=new Root();
    			if(!root->restoreConfig())
    			{
    				if(!root->showConfigDialog())
    				{
    					delete root;
    					return -1;
    				}	
    			}
    			RenderWindow* fenetreprincipale = NULL;
    			SceneManager* scenemanager = NULL;
    			fenetreprincipale = root->initialise(false, "Test");
    			scenemanager = root->createSceneManager(ST_GENERIC, "Scene1");
     
    			ConfigFile ressource;
    			ressource.load("resources.cfg");
    			ConfigFile::SectionIterator iterator = ressource.getSectionIterator();
    			String secNom, typeArch, cheminArch;
    			while(iterator.hasMoreElements())
    			{
    				secNom = iterator.peekNextKey();
    				ConfigFile::SettingsMultiMap *settings = iterator.getNext();
    				ConfigFile::SettingsMultiMap::iterator it;
     
    				for (it=settings->begin(); it!=settings->end();++it)
    				{
    					typeArch = it->first;
    					cheminArch = it->second;
    					ResourceGroupManager::getSingleton().addResourceLocation(cheminArch,typeArch,secNom);
    				}
    			}
    			ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
     
     
    			Entity* pEntity=scenemanager->createEntity("Ogre Head","OgreHead.mesh");
    			SceneNode* pNode=scenemanager->getRootSceneNode()->createChildSceneNode("Node");
    			pNode->attachObject(pEntity);
    			delete root;
    		}
    		catch(Ogre::Exception e)
    		{
    			#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    			MessageBox(NULL,(LPCSTR) e.getFullDescription().c_str(),
    				"Erreur d'initialisation de l'objet Root",MB_OK|MB_ICONERROR|MB_TASKMODAL);
    			#else
    				std::cerr << "Une exception a été levée: " << e.getFullDescription().c_str() << std::endl;
    			#endif
    		}
    		 return 0;
    	}

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Je crois qu'il faut créer d'autres fonctions à l'intérieur, la classe est peut-être pas complète...regarde sur Ogre Wiki (en anglais) il y a un tuto sur ca

    ^^

  3. #3
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Est-ce que la boite de dialogue qui propose un choix entre OpenGl et DirectX s'affiche?Si non,essay d'enlever OpenGl ou DirectX de plugins.cfg et/ou de mettre a jours les drivers de ta carte graphique.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    j'crois que y'a un truc à cocher lors de la création du projet pour la boîte de dialogue nan ?

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 68
    Points
    68
    Par défaut Debug Assertion Failed
    Pour répondre au post précédent la boite de dialogue qui me propose entre opengl et direct3d s'affiche bien et je ne pense pas que le problème vienne des drivers car lorsque j'ai fais le tuto avec la classe example de ogre tout a bien fonctionné. Le problème survient lorsque j'essaye de charger les ressources. Même lorsque je les met en dur c'est à dire que je remplace la boucle while(iterator.hasMoreElements()) par
    ResourceGroupManager::getSingleton().addResourceLocation("../../media/models","FileSystem","General");
    ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/tests","FileSystem","General");
    ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/programs","FileSystem","General");
    ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/textures","FileSystem","General");
    ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
    j'ai la même erreur lors de l'exécution. En débugage cette erreur survient lors de la dernière ligne. J'ai télécharger le .cpp fournit par le tutorial et la aussi l'erreur se produit. J'ai essayé de mettre les chemins en dur (E:\...) mais la aussi même problème. Par contre lorsque je rentre les ressources en dur et que je ne fais qu'un addResourceLocation je n'ai plus l'erreur mais des que je met une deuxieme fois la fonction addResourceLocation l'erreur se produit. Je ne sais vraiment pas d'où vient le problème.

  6. #6
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    On peut voir Ogre.log?

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 68
    Points
    68
    Par défaut Debug Assertion Failed
    Biensure le voila :

    14:21:45: Creating resource group General
    14:21:45: Creating resource group Internal
    14:21:45: Creating resource group Autodetect
    14:21:45: SceneManagerFactory for type 'DefaultSceneManager' registered.
    14:21:45: Registering ResourceManager for type Material
    14:21:45: Registering ResourceManager for type Mesh
    14:21:45: Registering ResourceManager for type Skeleton
    14:21:45: MovableObjectFactory for type 'ParticleSystem' registered.
    14:21:45: OverlayElementFactory for type Panel registered.
    14:21:45: OverlayElementFactory for type BorderPanel registered.
    14:21:45: OverlayElementFactory for type TextArea registered.
    14:21:45: Registering ResourceManager for type Font
    14:21:45: ArchiveFactory for archive type FileSystem registered.
    14:21:45: ArchiveFactory for archive type Zip registered.
    14:21:45: FreeImage version: 3.10.0
    14:21:45: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
    14:21:45: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
    14:21:45: DDS codec registering
    14:21:45: Registering ResourceManager for type HighLevelGpuProgram
    14:21:45: Registering ResourceManager for type Compositor
    14:21:45: MovableObjectFactory for type 'Entity' registered.
    14:21:45: MovableObjectFactory for type 'Light' registered.
    14:21:45: MovableObjectFactory for type 'BillboardSet' registered.
    14:21:45: MovableObjectFactory for type 'ManualObject' registered.
    14:21:45: MovableObjectFactory for type 'BillboardChain' registered.
    14:21:45: MovableObjectFactory for type 'RibbonTrail' registered.
    14:21:45: Loading library .\RenderSystem_Direct3D9_d
    14:21:45: Installing plugin: D3D9 RenderSystem
    14:21:45: D3D9 : Direct3D9 Rendering Subsystem created.
    14:21:45: D3D9: Driver Detection Starts
    14:21:45: D3D9: Driver Detection Ends
    14:21:45: Plugin successfully installed
    14:21:45: Loading library .\RenderSystem_GL_d
    14:21:45: Installing plugin: GL RenderSystem
    14:21:45: OpenGL Rendering Subsystem created.
    14:21:46: Plugin successfully installed
    14:21:46: Loading library .\Plugin_ParticleFX_d
    14:21:46: Installing plugin: ParticleFX
    14:21:46: Particle Emitter Type 'Point' registered
    14:21:46: Particle Emitter Type 'Box' registered
    14:21:46: Particle Emitter Type 'Ellipsoid' registered
    14:21:46: Particle Emitter Type 'Cylinder' registered
    14:21:46: Particle Emitter Type 'Ring' registered
    14:21:46: Particle Emitter Type 'HollowEllipsoid' registered
    14:21:46: Particle Affector Type 'LinearForce' registered
    14:21:46: Particle Affector Type 'ColourFader' registered
    14:21:46: Particle Affector Type 'ColourFader2' registered
    14:21:46: Particle Affector Type 'ColourImage' registered
    14:21:46: Particle Affector Type 'ColourInterpolator' registered
    14:21:46: Particle Affector Type 'Scaler' registered
    14:21:46: Particle Affector Type 'Rotator' registered
    14:21:46: Particle Affector Type 'DirectionRandomiser' registered
    14:21:46: Particle Affector Type 'DeflectorPlane' registered
    14:21:46: Plugin successfully installed
    14:21:46: Loading library .\Plugin_BSPSceneManager_d
    14:21:46: Installing plugin: BSP Scene Manager
    14:21:46: Plugin successfully installed
    14:21:46: Loading library .\Plugin_OctreeSceneManager_d
    14:21:46: Installing plugin: Octree & Terrain Scene Manager
    14:21:46: Plugin successfully installed
    14:21:46: Loading library .\Plugin_CgProgramManager_d
    14:21:46: Installing plugin: Cg Program Manager
    14:21:46: Plugin successfully installed
    14:21:46: *-*-* OGRE Initialising
    14:21:46: *-*-* Version 1.4.8 (Eihort)
    14:21:46: OGRE EXCEPTION(6:FileNotFoundException): 'ogre.cfg' file not found! in ConfigFile::load at e:\projects\ogrecvs\branches\eihort_clean_vc8\ogre\ogremain\src\ogreconfigfile.cpp (line 84)
    14:21:46: OGRE EXCEPTION(6:FileNotFoundException): 'ogre.cfg' file not found! in ConfigFile::load at e:\projects\ogrecvs\branches\eihort_clean_vc8\ogre\ogremain\src\ogreconfigfile.cpp (line 84)
    14:21:52: CPU Identifier & Features
    14:21:52: -------------------------
    14:21:52: * CPU ID: GenuineIntel: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
    14:21:52: * SSE: yes
    14:21:52: * SSE2: yes
    14:21:52: * SSE3: yes
    14:21:52: * MMX: yes
    14:21:52: * MMXEXT: yes
    14:21:52: * 3DNOW: no
    14:21:52: * 3DNOWEXT: no
    14:21:52: * CMOV: yes
    14:21:52: * TSC: yes
    14:21:52: * FPU: yes
    14:21:52: * PRO: yes
    14:21:52: * HT: no
    14:21:52: -------------------------
    14:21:52: D3D9 : Subsystem Initialising
    14:21:52: ***************************************
    14:21:52: *** D3D9 : Subsystem Initialised OK ***
    14:21:52: ***************************************
    14:21:52: Creating resource group Bootstrap
    14:21:52: Added resource location '../../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
    14:21:52: Added resource location '../../media' of type 'FileSystem' to resource group 'General'
    14:21:52: Added resource location '../../media/fonts' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/materials/programs' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/materials/scripts' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/materials/textures' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/models' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/overlays' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/particle' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/gui' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/dragon.zip' of type 'Zip' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
    14:21:53: Added resource location '../../media/packs/skybox.zip' of type 'Zip' to resource group 'General'
    14:21:53: Parsing scripts for resource group Autodetect
    14:21:53: Finished parsing scripts for resource group Autodetect
    14:21:53: Parsing scripts for resource group Bootstrap
    14:21:53: Parsing script OgreCore.material
    14:21:53: Parsing script OgreProfiler.material
    14:21:53: Parsing script Ogre.fontdef
    14:21:53: Parsing script OgreDebugPanel.overlay

  8. #8
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 68
    Points
    68
    Par défaut Debug Assertion Failed
    J'ai trouvé le problème ! Mais après je n'ai pas la moindre idée du pourquoi. En faite le programme plante lorsque l'on initialise la fenêtre a false (mWindow = mRoot->initialise(false). Je l'avais mis a false pour pouvoir débugger. Si quelqu' un à une idée de pourquoi le programme plante lorsque l'on charge les ressources sans avoir créé la fenêtre parce que moi je ne comprend pas pourquoi.

  9. #9
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Je suis pas sur de ce que j'avance,mais il doit essayer de charger des textures par exemple dans un contexte lié a la fenetre.J'avais dejas eu ce probleme plusieurs fois,j'aurais du m'en douter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Debug Assertion Failed ! File: dbgheap.c
    Par jacques_henry dans le forum MFC
    Réponses: 9
    Dernier message: 15/04/2015, 11h29
  2. debug assertion failed sur un delete venant d'une DLL
    Par italiasky dans le forum Visual C++
    Réponses: 13
    Dernier message: 02/12/2008, 15h02
  3. debug assertion failed: dbgheap.c
    Par lolo le belge dans le forum Visual C++
    Réponses: 5
    Dernier message: 17/05/2007, 22h04
  4. debug assertion failed...
    Par BnY dans le forum MFC
    Réponses: 2
    Dernier message: 18/04/2006, 16h49
  5. Réponses: 3
    Dernier message: 07/12/2004, 22h09

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