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

Qt Creator Discussion :

Créer un point d'arrêt conditionnel


Sujet :

Qt Creator

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 199
    Points : 103
    Points
    103
    Par défaut Créer un point d'arrêt conditionnel
    Bonjour à tous

    Dans le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            QString str = fields.at(1);
     
                str = fields.at(6);
                double latitude = str.toDouble();
                str = fields.at(7);
                double longitude = str.toDouble();
                str = fields.at(0);
    je cherche à avoir un arrêt conditionnel du deboggage lorsque str = fields.at(0) a pour valeur "IRC".

    Pour ce faire, lorsque j'édite le point d'arrêt que je place après la ligne considérée, je rentre dans le champ condition : if(str=="IRC"), sans succès. En fait, le programme ne semble pas tenir compte de la condition et s'arrête à chaque passage sur le point d'arrêt (qui se trouve dans une boucle).

    Comment exprimer correctement cette condition d'arrêt ?

    Merci de votre aide.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Il faut rentrer que la condition dans les options du point d'arrêt, soit str=="IRC".
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 199
    Points : 103
    Points
    103
    Par défaut
    Merci pour l'aide, littlewhite.

    J'avais aussi essayé cette formulation, mais elle me donne une erreur. Typiquement le résultat est celui-ci :



    J'ai le message d'erreur, la ligne du point d'arrêt qui est placée à 294 passe à 238 et la valeur str n'est pas la bonne.

    En revanche, la formulation if(str=="IRC") ne provoque pas d'erreur, le point d'arrêt reste à la bonne ligne, mais l'arrêt se fait à chaque passage sans que la condition ne semble être évaluée.

    Je me suis basé sur ce document (tiré de la doc support de Qt) pour cela : https://sourceware.org/gdb/onlinedoc...tml#Set-Breaks.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Très étrange que le point d'arrêt passe à une autre ligne et c'est ça le problème majeur. L'expression correcte est str=="IRC" aucun doute. Si votre expression venait à toujours retourner 1/VRAI, alors oui, cela stoppera le débogueur à chaque passage.
    Bref pour avancer, je vous conseille de mettre directement la condition dans votre code et de placer le point d'arrêt dans le code exécuté par le if ajouté. C'est moche, mais c'est efficace.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Point d'arrêt conditionnel sur une variable
    Par bvsud dans le forum Delphi
    Réponses: 2
    Dernier message: 28/10/2016, 23h13
  2. Débogage- créer des points d'arrêt par le code
    Par zineb_cerisette dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/01/2014, 19h31
  3. Réponses: 1
    Dernier message: 01/12/2011, 12h56
  4. [WD12] Débogage et point d'arrêt conditionnel
    Par =JBO= dans le forum WinDev
    Réponses: 11
    Dernier message: 22/01/2010, 18h32
  5. possible de sauvegarder ses points d'arrêts ?
    Par Merfolk dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/09/2004, 12h23

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