Etre autonome dans la compréhension des erreurs XCode ?

PierrePierre Membre
14:12 modifié dans Objective-C, Swift, C, C++ #1
Bonjour à  tous,

J'aimerais savoir comment m'y prendre pour interpréter les erreurs renvoyées par XCode avant compilation et celle renvoyées lors de l'éxécution du code.

Pour le moment je suit les étapes suivantes (plus ou moins dans l'ordre :P ) :

  • "Search Apple site développer for selection"
  • Recherche sur Google
  • Recherche sur StackOverflow.com
  • Recherche sur le forum PommeDev
  • Poser la question sur le forum PommeDev (ou directement à  des contacts dév. iPhone sur Skype ^^).


Comment vous faites quand on vous soumet un morceau de code et l'erreur qui va avec ?

Je vous pose cette question car pour le moment j'ai l'impression que pour résoudre chacune de mes erreurs je suis obligé de finir par demander sur le forum. Et c'est frustrant de ne pas arriver à  avancer et à  se débrouiller un peu tout seul (je n'ai pas envie de vous déranger pour la moindre erreur "de base").

Y'as-t'il une méthodologie claire et éprouvé pour résoudre ses bugs de code ?

Merci d'avance pour vos réponses,

A bientôt,
Pierre

P.S.: c'est d'autant plus frustrant que sur les autres langages je n'ai jamais rencontré d'erreur aussi complexes à  comprendre pour un débutant.

Réponses

  • yoannyoann Membre
    14:12 modifié #2
    Pour les problème de compilation, tu regarde la doc llvm qui est le compilateur, d'ailleurs les messages d'erreurs sont bien plus compréhensible que ceux de gcc

    Pour les erreur à  l'exécution il n'y a pas de secret, c'est l'expérience, il n'y en a pas 300 000, une fois que tu as vu les principaux ça aide bien, ensuite il faut savoir comment marche l'ObjC, le Cocoa et le runtime qui va avec...
  • PierrePierre Membre
    14:12 modifié #3
    (Re)Bonjour yoann, je vais regarder la doc. de llvm. J'ai très peu travaillé avec GCC (plutôt PHP / Java / Scheme).

    Je vais attendre d'avoir un peu plus d'expérience avant de m'inquiéter de ma non compréhension des erreurs de base. :)

    Merci pour ta réponse.
    Pierre
  • AliGatorAliGator Membre, Modérateur
    mai 2010 modifié #4
    Et sinon à  partir du moment où tu comprends l'anglais, la plupart des messages sont relativement explicites (du moment qu'on a les bases de compréhension côté programmation bien sûr et le bon vocabulaire)

    Par exemple "object xxx does not respond to selector yyy" veut dire... bah exactement ce que ça veut dire. Et beaucoup d'autres messages d'erreur sont du même acabit.
  • zoczoc Membre
    14:12 modifié #5
    Oui, franchement, les messages d'erreurs de GCC (et encore plus de LLVM) sont assez explicites. C'est bien pire sur d'autres plateformes (genre les compilateurs de Visual Studio sous Windows).

  • yoannyoann Membre
    14:12 modifié #6
    dans 1273084268:

    (genre les compilateurs de Visual Studio sous Windows).


    @troll {
    On parlait d'outil de travail la...
    }
  • PierrePierre Membre
    14:12 modifié #7
    Bonjour,

    Les messages d'erreur de XCode sont en générale compréhensible surtout qu'il se rapporte à  une ligne en particulier (et encore pas toujours...). Mais les messages renvoyé lors de l'éxécution sont toujours aussi occulte pour moi.

    Je comprend de quel élément il parle (quand c'est un élément que j'utilise dans mon code) mais comme il n'y aucune référence au fichier ou au classes c'est pas toujours évident de comprendre ce qui se passe réellement.

    En tout cas merci pour vos éclaircissements. :)

    Pierre
  • GreensourceGreensource Membre
    14:12 modifié #8
    Ta démarche est très bonne en tout cas, mais je pense que seul l'expérience te fera progressé dans ce domaine.
    En tout cas ton protocol de recherche est plutôt bon je trouve, si tu fait bien t'es recherche à  priori tu trouvera tes réponses tout seul. La plupart des questions ayant déjà  été posé.
  • AliGatorAliGator Membre, Modérateur
    14:12 modifié #9
    Sinon si c'est des erreurs lors du runtime (EXC_BADACCESS, etc), poser des breakpoints dans le code et y aller au pas à  pas permet de voir à  quel endroit ça plante également.
  • iSofTomiSofTom Membre
    14:12 modifié #10
    de même si c'est une erreur, lors du runtime, de type signal abort (SIGABRT) tu as normalement accès à  la pile d'appels (si tu es en mode Debug je pense). Tu peux donc remonter dans les appels et voir sur quelles instruction ça a planté... Sinon comme le dit Ali pour des erreurs d'execution le plus simple reste le debugger (voire même, pourquoi pas, les logs).
Connectez-vous ou Inscrivez-vous pour répondre.