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

Free Pascal Discussion :

Comment savoir quelle ligne du programme est la cause d'une erreur à l'exécution [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Comment savoir quelle ligne du programme est la cause d'une erreur à l'exécution
    Comment fait-on pour trouver la ligne de programme où se situe l'erreur avec Free Pascal ?

    erreur 201 à $00410F61
    $00410F61
    $00413EEA
    $00402397
    $00409E31
    Le seul moyen est que j'ai trouvé est d'y aller à tâtons : tester chaque variable de tableau, tester les variables de type word et byte. Mais que c'est long ! Y a-t-il plus rapide ?

  2. #2
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Points : 53
    Points
    53
    Par défaut
    Bonsoir,

    Peut-être avec quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try 
      Ton code
    except on e : exception  
      do writeln(e.message) 
    end;
    Mais pas sûr.

    Tout dépend du problème j'ai eu le même souci en développement sur WinCE.
    Une variable pas initialisée, un problème lié à une .DLL ou .SO.

    Là c'est dur.

    Bon courage.
    Cldt.
    Iwoks.

  3. #3
    Membre averti

    Homme Profil pro
    Diverses
    Inscrit en
    Février 2014
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Diverses

    Informations forums :
    Inscription : Février 2014
    Messages : 122
    Points : 428
    Points
    428
    Par défaut
    Il faut demander au compilateur de générer les informations de débogage en passant l'option -gl au compilateur. Ainsi chaque adresse sera associée à un nom de fichier source et un numéro de ligne.

  4. #4
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    merci de ta réponse
    mais ou dois-je placer cette directive de compilation
    dans le menu option -> compileur
    il me jette
    est ce en début d'unité ? sous quelle forme ?
    est ce une commande Dos ?

  5. #5
    Membre averti

    Homme Profil pro
    Diverses
    Inscrit en
    Février 2014
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Diverses

    Informations forums :
    Inscription : Février 2014
    Messages : 122
    Points : 428
    Points
    428
    Par défaut
    Si je comprends bien tu utilises l'EDI fp et pas directement le compilateur. Donc, je n'ai pas trop le temps de tester, à priori c'est dans Options > Debbuger... Il faut cocher "generate also backtrace line information".

    Renseignes toi quand même sur la différence entre EDI et compilateur. A mon sens tu devrais même songer à utiliser l'EDI Lazarus plutôt que FP. Les deux utilisent le compilateur fpc (free pascal) mais Lazarus est quand même plus puissant et convivial.

  6. #6
    Membre à l'essai
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut remerciement
    en cochant la case "generate also backtrace" du menu options, j'ai enfin trouver mon erreur
    merci beaucoup cela va me faire gagner du temps à l'avenir.
    Quant à lazarus , je l'ai installé et l'essayerai plus tard

    je suis trop attaché à mon environnement Tp que j'utilise depuis plus de 20 ans.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/02/2013, 12h41
  2. Ping : comment savoir quelle carte est utilisée ?
    Par origan dans le forum Administration
    Réponses: 2
    Dernier message: 31/05/2012, 10h04
  3. Réponses: 1
    Dernier message: 25/08/2010, 14h00
  4. Réponses: 1
    Dernier message: 09/01/2007, 20h41
  5. [Process] Comment savoir quelle application est ouverte ?
    Par samus535 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 25/08/2006, 15h01

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