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

Lazarus Pascal Discussion :

Arrêt d'exécution comme si était mis un point d'arrêt [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut Arrêt d'exécution comme si était mis un point d'arrêt
    Bonjour,
    Je suis sous Linux et j'utilise simplement Lazarus en version 2.2.4 et je rencontre un petit problème en cours de modification d'une unité : la compilation via la touche Ctr F9 s'effectue sans problème mais quand c'est exécuté via F9 mon application démarre et quand je choisis la séquence en cours d'essai, j'ai l'affichage du code et l'arrêt sur une ligne comme si j'avais mis un point d'arrêt via F5 - mais je n'ai pas la ligne en rouge.
    Pour avoir un déroulement normal je dois choisir exécuter sans débogage. Je n'avais pas ce problème par le passé.
    Dans les outils /options dans mon EDI j'ai pour Débogueur : backend du débogueur et dans les lignes d'information gdb.
    Une erreur de ma part où un problème lié au choix du débogueur en backend.
    C'est pas vraiment bloquant, juste gênant et pas compris.
    Merci d'avance si vous avez une explication.
    A+

  2. #2
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 334
    Points : 4 156
    Points
    4 156
    Par défaut
    Bonjour,

    Est-ce que c'est toujours la même ligne ? De votre code ou de celui d'une bibliothèque ?

    Si c'est toujours la même ligne, est-il possible de la voir (ainsi que quelques lignes avant et après) ?

    Le point d'arrêt n'est pas nécessairement dans le code source, il peut (plus rare) y en avoir dans le code assembleur.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Merci de cette réponse voici le code de mon module d'importation de données depuis un fichier texte téléchargé
    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
    //Traitement selon de genre et le type de fichier
    //Lecture des premiers caractères du reste de la ligne pour traiter le genre
    // Dans les genres d'opération on a pour les 2 types de fichiers
    // des chéques, des virements, des prélévements et des opérations sans genre
    // avec un début de nom C, V, P ou rien
    MGENRE:=(Copy(MLIGNE,1,1));
     if MGENRE='C' then TraitementCheque
     else if MGENRE='V' then TraitementVirement
       else if MGENRE='P' then TraitementPrelevement
         else  TraitementDivers;
      MLIBELLE:=UpperCase(MLIBELLE);
      MLIBELLE:=UpperCase(Copy (MLIBELLE,1,22));
      EcritureImport;
      ENb.Text:=IntToStr(XTAB);
      ENb.Update;
      Inc(XTAB);
      end; //fin de boucle de traitement des données dans le tableau
      TraitementDerniereLigne;
    end;
    Dans cet module je lis un fichier texte au format *.csv ou *.xlsn je mets en forme dans un module importer les données pour les traiter ensuite dans un module que j'appelle pointer
    Après lancement de la fonction importer et que j'ai choisi le fichier à lire, donc l'application est en fonctionnement je choisis le module importer, je choisis le fichier à lire et là l'écran change et affiche le texte de cette unité et s'arrçte toujours sur la même ligne "ENDn.Update" si je rend cette ligne inopérante avec "//" c'est la ligne suivante qui est le point d'arrêt.
    Autre précision si je veux quitter lazarus j'ai le message "voulez-vous arrếter le débogage" ce qui voudrait dire qu'il y a à cet endroit l'équivalent d'un point d'arrêt comme avec l'utilisation de la touche F5.
    A+

  4. #4
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 334
    Points : 4 156
    Points
    4 156
    Par défaut
    Bonjour,

    Il est vraisemblable que l'arrêt est provoqué par l'instruction (ou une partie) Nb.Text:=IntToStr(XTAB);.

    Par ailleurs, si on active la fenêtre assembleur, est ce qu'il n'y a pas un point d'arrêt qui traîne quelque part ? Si il est à ce niveau, il est plus fin qu'une instruction et donc n'apparaît pas dans le code source.

    Enfin, est-ce que le pas à pas F7/F8, ou F9 permettent de dépasser ce point d'arrêt ?

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Pour la dernier question c'est oui avec les touches F7/F8 o, avance dans le programme.
    Maintenant pour la fenêtre assembleur je ne connais pas la manipulation
    A+

  6. #6
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 334
    Points : 4 156
    Points
    4 156
    Par défaut
    Bonjour,

    La fenêtre assembleur apparaît avec Ctrl+Alt+D. C'est une fenêtre également accessible par le menu Voir/Fenêtres de débogages. Il y a beaucoup d'autres possibilités comme les points d'arrêt par exemple...

    En activant toutes les fenêtres de débogage que l'on souhaite et en sauvegardant cette configuration dans un bureau par exemple nommé "debug" (via le bouton présentant un engrenage), pour peu que l'on fasse de même avec la configuration "debug" de compilation, on obtient un environnement de debug sympathique.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  7. #7
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Merci pour cette aide, j'ai trouvé le problème mais pas l'origine.
    En consultant via voir/fenêtre de débogage et point d'arrêt il y avait un point d'arrêt que j'ai supprimé et l'exécution depuis l'EDI se fait normalement.
    Encore merci
    A+

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

Discussions similaires

  1. INSERT DELAYED exécuté comme un INSERT normal
    Par benland dans le forum Administration
    Réponses: 0
    Dernier message: 21/03/2012, 18h36
  2. Image exécuté comme un script php
    Par flipflip dans le forum Apache
    Réponses: 6
    Dernier message: 07/10/2009, 16h49
  3. Réponses: 9
    Dernier message: 25/08/2008, 12h58
  4. Semble ne pas passer en 32 bits, il s'exécute comme du 16 bits
    Par daniel06600 dans le forum x86 32-bits / 64-bits
    Réponses: 15
    Dernier message: 24/01/2008, 23h56
  5. Temps d'exécution comme critère d'arrêt
    Par 5kippy dans le forum SL & STL
    Réponses: 2
    Dernier message: 27/11/2007, 11h20

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