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

WinDev Discussion :

Débogage et point d'arrêt conditionnel [WD12]


Sujet :

WinDev

  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Débogage et point d'arrêt conditionnel
    Bonjour,

    En phase de débogage sur une boucle avec de nombreuses itérations, j'ai souvent besoin de placer un point d'arrêt mais (vu les nombreuses itérations) je voudrais que l'arrêt ne soit effectif que pour une condition donnée.

    Je n'ai pas trouvé comment le faire dans l'environnement de développement et de débogage de WD12.
    Peut-être que cette fonctionnalité est disponible dans les versions suivantes ?

    En prévision de vos réponses, je précise que je ne peux pas (ni ne souhaite) modifier mon code pour y placer des conditions de test "en dur".

    Auriez-vous une solution ?
    Tout information est bienvenue, merci.
    _

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI <MaCondition> ALORS STOP
    Je sais pas si c'est dispo en 12

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Merci de ta réponse rapide vmolines !

    Citation Envoyé par vmolines Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI <MaCondition> ALORS STOP
    Je sais pas si c'est dispo en 12
    Si je comprends bien, il s'agit de coder en dur le point d'arrêt:
    un test + l'instruction STOP


    Mais je voudrais éviter de coder en dur le point d'arrêt.
    D'ailleurs ce n'est pas toujours possible, par exemple si je débogue un exécutable, ou si ma condition d'arrêt n'est pas fixée à l'avance.

    On se comprend ?

    En regardant l'aide en ligne sur l'instruction STOP (disponible depuis WD9), je vois qu'il en existe une variante conditionnelle:
    Code WLangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    STOP SI <condition>
    Ça ne fait pas mon affaire, mais c'est quand même bon à savoir.
    _

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Alors je ne suis pas sûr de tout comprendre : en gros, tu veux que ça ne s'arrête que sous condition, mais seulement quand tu détermines à l'avance que ça devra s'arrêter suivant cette condition. c'est bien ça?
    Alors j'ai peut-être une idée :
    Code étape1 => créer une variable globale de projet : Sélectionner tout - Visualiser dans une fenêtre à part
    gbDebogage est un booléen
    Code étape 2 => pour chaque instruction : Sélectionner tout - Visualiser dans une fenêtre à part
    STOP SI gbDebogage et <condition secondaire>
    étape 3 : pendant l'exécution, intervenir directement dans le volet de débogage, et changer la valeur de gbDebogage à la main.
    ça correspond à ce que tu veux ?

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Ok.

    Toujours pareil, je ne sais pas si c'est dispo/possible en 12. Il s'agit d'ajouter une expression espionne qui soit ta condition et d'activer un arrêt sur changement de valeur (en cliquant sur le "feu" vert de l'expression espionne).

    Pour illustrer si c'est pas clair
    Images attachées Images attachées  

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Tu t'es trompé de langage, faut reprendre Access pour ça...

    Plus sérieusement, je crois vraiment que ça n'existe pas en WD

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    En fait il faut mettre la condition dans le debogueur, et mettre un point d'arrêt dessus. Ainsi Windev stoppera l'execution quant la condition change de valeur (passe donc de faux à vrai).

    Tatayo.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Excellent ! je ne savais pas que ça existait en windev ! Merci tatayo, j'étais passé à coté !

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Citation Envoyé par Bowen Voir le message
    Tu t'es trompé de langage, faut reprendre Access pour ça...

    Plus sérieusement, je crois vraiment que ça n'existe pas en WD
    Non c'est exactement ce que j'ai décrit et montré dans la pièce jointe.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Non c'est exactement ce que j'ai décrit et montré dans la pièce jointe.
    Oui oui, mais je ne connaissais pas et je n'avais pas compris ta pièce jointe.
    Du coup, on ne sait pas si ça convient à JBO.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Expression auto-stop
    Génial ! C'est parfait ! Et c'est dispo dans WD12 !

    Dans l'aide en ligne de WinDev, ça s'appelle « une expression auto-stop ».
    http://doc.pcsoft.fr/fr-FR/?2019001&...-pas-debogueur

    Moi aussi j'étais passé à côté de cette fonctionnalité indispensable.
    Pour ma défense (et pour information), il faut savoir que l'icône STOP ne peut être basculée en rouge que lorsque le débogueur est actif.

    Le summum eût été de pouvoir "limiter" l'effet de l'expression auto-stop à une procédure donnée.
    Mais je suis déjà très satisfait que ça existe.

    Un grand merci à vmolines, Bowen et tatayo.
    _

  12. #12
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Citation Envoyé par =JBO= Voir le message
    ...
    Pour ma défense (et pour information), il faut savoir que l'icône STOP ne peut être basculée en rouge que lorsque le débogueur est actif.
    ...
    Je plussoie. C'est le truc que je maudis à chaque fois où je m'en sers.

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

Discussions similaires

  1. Appli Access passe en débogage sans point d'arrêt
    Par lordkoko dans le forum Access
    Réponses: 4
    Dernier message: 16/05/2015, 11h00
  2. Access passe en débogage sans point d'arrêt
    Par Les Sauveteurs en Me dans le forum VBA Access
    Réponses: 5
    Dernier message: 18/07/2013, 10h05
  3. Points d'arrêt en mode débogage
    Par colorid dans le forum EDI
    Réponses: 2
    Dernier message: 19/01/2012, 15h53
  4. Réponses: 1
    Dernier message: 01/12/2011, 11h56
  5. Réponses: 3
    Dernier message: 03/06/2008, 08h50

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