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

Développement OS X Discussion :

[OpenGL] Bug dans mon projet d'interface OpenGL


Sujet :

Développement OS X

  1. #1
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut [OpenGL] Bug dans mon projet d'interface OpenGL
    Bonjour à tous,

    Après avoir compris que mon écran restait noir simplement à cause d'un mauvais cadrage, j'ai mis en place ma propre implementation de liste (que j'ai testée et qui fonctionne parfaitement). Mais depuis peu j'ai une erreur lorsque je lance mon programme de test. Cette erreur est… très étrange. En effet j'écris dans mon programme : long i = -1; et mon debugger me dit que i vaut 1. Je vous laisse en jugez par vous même sur l'image.

    http://perso.orange.fr/c.sobecki/spo...ugs/bug-01.png

    Je sais pas si ça a un rapport avec le signal SIGTRAP mais en tout cas ça me titille les neurones. Quelqu'un aurait la science infuse ?

    Bon développement à tous

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Mes questions vont sans doute être bête mais :

    N'aurais pas tu d'autres variable "i" qui traînent?
    Comment inclémentes-tu ta variable?
    Si tu continues, ton [windowsList indexOfObject:aWindow] renvoi quoi?

  3. #3
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Pas de variable globale i.
    Pas de champ i.
    Pas d'autre déclaration de i dans ma méthode.

    Citation Envoyé par Tarul
    Comment inclémentes-tu ta variable?
    Euh... j'ai pas compris là .

    Si j'essaie de continuer (que ce soit avec "Step over" ou "Continue"), rien ne se passe. Je reviens au même point, à la même ligne, avec la même erreur.

    Edit: en fait quand je fais "Step over", à la place de "Program received signal: "SIGTRAP"" (sur la photo de mon écran), Xcode marque "Stepping over..." et rien d'autre ne se passe.

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par Spootnik
    Pas de variable globale i.
    Pas de champ i.
    Pas d'autre déclaration de i dans ma méthode.



    Euh... j'ai pas compris là .

    Si j'essaie de continuer (que ce soit avec "Step over" ou "Continue"), rien ne se passe. Je reviens au même point, à la même ligne, avec la même erreur.
    heu rien, je me suis fait avoir par le correcteur orthographique.
    Et en plus j'ai ma réponse dans le screen.

    Et [windowsList indexOfObject:aWindow], il renvoi bien un long?

  5. #5
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Oui.

    Code Objective-C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /* interface de la classe OArray */
     
    - (long)indexOfObject:(id)anObject;

    Je suis prêt à publier sur le net tout ce que j'ai codé pour l'instant mais je doute que ça serve à quelque chose.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par Spootnik
    Oui.

    Code Objective-C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /* interface de la classe OArray */
     
    - (long)indexOfObject:(id)anObject;

    Je suis prêt à publier sur le net tout ce que j'ai codé pour l'instant mais je doute que ça serve à quelque chose.
    C'est super louche.
    Si tu mets un autre chiffre(n'importe lequel), tu arrives à continuer l'exécution(même si je me doute que cela plante juste après)?

  7. #7
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Un autre chiffre à la place de -1 ? C'est bien ça ?

    Edit: voilà ce que j'obtiens. Les valeurs sont conformes à celles que j'ai précisées, et le bug est localisé à la ligne suivante.

    http://perso.orange.fr/c.sobecki/spo...ugs/bug-02.png

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par Spootnik
    Un autre chiffre à la place de -1 ? C'est bien ça ?

    Edit: voilà ce que j'obtiens. Les valeurs sont conformes à celles que j'ai précisées, et le bug est localisé à la ligne suivante.

    http://perso.orange.fr/c.sobecki/spo...ugs/bug-02.png
    j'ai l'impression qu'il y a quand même un problème dans l'implémentation de la liste. en plus du long qui ne supporte pas le "-1".

  9. #9
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    En comparant les photos d'écran j'ai vu les 49 avertissements (que j'avais déjà repérés auparavant). Peut-être y a-t-il un lien...

    Ils surviennent lors de l'édition des liens de mon programme de test. Ce programme de test est lié (par l'éditeur de lien) à la bibliothèque statique créée à partir des sources que j'ai codées.

    http://perso.orange.fr/c.sobecki/spo...d-warnings.txt

    Edit: si tu patientes un peu tu pourras voir les sources (concernées) que je suis en train de mettre sur le net.

    Edit 2: je crois que j'ai trouvé d'où vient le problème ! J'avais oublié d'effectuer certaines modifications. Lors de l'initialisation, l'objet OArray était créé à partir des méthodes de création de la classe List standard, puis dans le reste du code, j'utilisais les méthodes de MA classe sur l'objet ainsi créé. J'ai vu cette erreur en supprimant le #import <objc/List.h>. Je corrige ça et je vous tiens au courant (je trouve étrange de ne pas avoir eu d'avertissement lors de l'initialisation tout de même...).

    Edit 3: ça marche nickel !

    Edit 4: à présent tout fonctionne parfaitement, mais j'aimerais tout de même avoir des éclairements sur les avertissements. J'en rencontre souvent (bien que rarement autant) mais je ne sais jamais comment les régler. Je précise bien que c'est l'édition des liens du programme de test et non pas de la bibliothèque qui produit ces avertissements.

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Bravo pour la résolution, par contre pour tes warning sur les liens, je ne pourrais pas t'aider.

  11. #11
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Bon, vu que ça ne gène pas l'exécution on va dire qu'on a rien vu.

  12. #12
    Membre averti

    Inscrit en
    Février 2003
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 154
    Points : 310
    Points
    310
    Par défaut
    Le prebinding permet d'accélérer le chargement d'une appli en précalculant les adresses des symboles des librairies au moment de la compilation. Apparemment, dans tes projets c'est activé mais les adresses se marchent dessus donc le compilo dévalide le prébinding. Voir ici pour plus d'infos.

    Ce n'est rien de grave. Au pire tu désactives le prébinding dans les propriétés de tes projets et tu n'auras plus de warning.

  13. #13
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    C'est bon, j'ai rajouté l'option -seg1addr 0xFFC00000 pour l'édition des liens (0xFFC00000 correspond au dernier espace mémoire qu'Apple à spécifié comme disponible pour les bibliothèques et applications tiers), et tous les avertissments ont disparu.

    Merci Mala pour l'info.

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

Discussions similaires

  1. [DEV] Bug dans mon éditeur de carte avec Cocoa (et OpenGL)
    Par Ceylo dans le forum Développement OS X
    Réponses: 5
    Dernier message: 12/10/2007, 19h34
  2. [D7] Ressource dupliquée dans mon projet
    Par dleu dans le forum EDI
    Réponses: 2
    Dernier message: 27/02/2006, 15h52
  3. Bug dans mon timer
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/01/2006, 15h27
  4. ActiveX dans un projet sans interface graphique
    Par Nalfouille dans le forum MFC
    Réponses: 6
    Dernier message: 04/01/2006, 17h30
  5. [FLASH MX] Incorporer un swf dans mon projet
    Par Toutouffe dans le forum Flash
    Réponses: 2
    Dernier message: 19/01/2005, 12h04

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