Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > API graphiques
API graphiques Forum d'entraide sur les API et bibliothèques graphiques 2D et 3D
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/08/2011, 13h08   #1
yann458
Invité régulier
 
Inscription : mai 2011
Messages : 309
Détails du profil
Informations personnelles :
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : mai 2011
Messages : 309
Points : 7
Points : 7
Par défaut analyser de bug + opengl

Bonjour,

Il y a 2 ans ,J'ai écrit en jeu de labyrinthe 3D avec les API OpenGL.

j'ai fais quelque modifications pour initialiser / deinitialiser opengl quand c'est nécéssaire (exemple touche ECHAP pour revenir au menu du jeux utilisant le GDI et le menu Nouvelle Partie ou Reprendre partie qui (re)initialise les API OpenGL).

Avec mes modifications apportées ça marche pas trop bien quand je reinitialise OpenGL , sachant que MSVC m'indique parfois une boite de dialogue du genre "Débordement heap", et je n'arrive pas à localiser le défaut, même avec la modless de Call stack (intégré dans MSVC).

Il doit s'agir dans mon jeux d'un ou des pointers en cause, et ce bug se produit parfois à l'intérieur d'une fonction OpenGL.

Ma question (HS) : Existe t'il un soft pour enfin traquer les pointers en cause ?
c'est à dire traquer par exemple les débordements de pointer ou écriture sur un ou des pointers libérer.

Autre question : OpenGL bug quand c'est mal paramétrer ce qui est logique (ex absence d'appel de la fonction GlViewPort (de mémoire) , dans ce cas existe t'il un utilitaire spécialiser permettant d'analyser et de consigner les appels OpenGL non conforme ou les appels oublier et de consigner par exemple les appels de texture déjà libérer (exemple glbindtexture) ?

Je voudrais gagner du temps.

Merci.
yann458 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h11   #2
oxyde356
Membre Expert
 
Avatar de oxyde356
 
Homme
Ingénieur Recherche Imagerie
Inscription : février 2006
Messages : 798
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur Recherche Imagerie

Informations forums :
Inscription : février 2006
Messages : 798
Points : 1 013
Points : 1 013
Envoyer un message via MSN à oxyde356
Pour la première partie, tu as besoin d'un profiler (Valgrind, AQTime), mais une bonne rigueur de programmation résoudrai surement bien des problèmes. Tu peux aussi te faire ton propre gestionnaire de mémoire qui détectera ce genre de problème et te permettra de les corriger.

Pour OpenGL, tu as gDEBugger, mais pareil qu'au dessus tu peux aussi te faire un gestionnaire.
__________________
Computer Graphics Universe
oxyde356 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 22h03   #3
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 450
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 450
Points : 40 403
Points : 40 403
Il y a aussi glslDevil, si je me rappelle bien du non, qui peut aider un pue (un tout petit peu, car il est plus pour le débogage de shaders)

Sinon, le retour à un menu, ne devrait pas arrêter OpenGL ... enfin, en théorie.
L'arrête d'OpenGL, fait que toutes textures / zone écran ou autre initialisés vont être perdus (leur utilisation provoquera des plantages)
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web