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

Python Discussion :

comment déboguer un script


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingenieur d'étude
    Inscrit en
    Janvier 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingenieur d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 16
    Par défaut comment déboguer un script
    Bonjour,

    Débutant en python, je ne comprends pas comment on peut déboguer un script. J'ai crû comprendre que l'on ne peut pas sonder la valeur d'une variable avec print. Je ne comprends pas comment utiliser le débogueur de python pdb, je n'arrive pas non plus à sonder les variables avec la fonction print même avec le débogguer !

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 719
    Par défaut
    Salut,

    Pour déboguer un script, il faut déjà savoir le résultat qu'il est supposé produire. Si ce n'est pas le cas, il va falloir relire le script pour essayer de comprendre pourquoi il fait autre chose.

    "print" ou un debogueur symbolique permettent de visualiser les objets associés à certaines variables et vérifier qu'elles contiennent bien ce qu'on attend. Dit autrement, çà permet juste de confirmer qu'on comprend bien ce que Python fait lorsqu'il exécute le script.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Ingenieur d'étude
    Inscrit en
    Janvier 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingenieur d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 16
    Par défaut
    Oui, en fait quand je dit que je débute en python, je sais quand même programmer, ma question est de savoir seulement s'il est possible de visualiser une variable comme le font facilement d'autres langages comme R, notamment.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    J'ai crû comprendre que l'on ne peut pas sonder la valeur d'une variable avec print
    ben si justement, c'est ce que l'on fait habituellement, qu'est-ce qui t'en empêche ?

  5. #5
    Membre averti
    Homme Profil pro
    Ingenieur d'étude
    Inscrit en
    Janvier 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingenieur d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 16
    Par défaut
    J'ai essayé avec un code ultra simple tel que celui-ci dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/usr/bin/python3
    a="toto"
    Et après exécution, quand je lui demande de m'écrire la variable a, il me dit qu'elle est inconnue ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print(a)
    *** NameError: name 'a' is not defined

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>>a="toto"
    >>>print(a)
    toto
    >>>print(type(a))
    <class 'str'>

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 719
    Par défaut
    Salut,

    Citation Envoyé par Stephlandes Voir le message
    Et après exécution, quand je lui demande de m'écrire la variable a, il me dit qu'elle est inconnue ...
    "après exécution" de l'instruction, du script?
    Si vous savez programmer, vous savez que çà demande un peu de rigueur dans la description des problèmes...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 719
    Par défaut
    Salut,

    Citation Envoyé par Stephlandes Voir le message
    ma question est de savoir seulement s'il est possible de visualiser une variable comme le font facilement d'autres langages comme R, notamment.
    Python est un langage comme les autres... Et les outils pour mettre au point les programmes sont semblables.
    Vous avez même des IDE "multi-langages" qui offrent des interfaces semblables pour éditer, exécuter, débugger...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par Stephlandes Voir le message
    Bonjour,

    Je ne comprends pas comment utiliser le débogueur de python pdb
    Un exemple simple,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    s = "hello world !"
    import pdb; pdb.set_trace()
    print(s)
    Vous exécutez ça dans un terminal, puis vous verrez un

    ça veut dire qu'il est arrivé à la ligne print(s) sans l'avoir exécuté.

    tapez s pour connaître la valeur de votre variable set vous verrez hello world !, c'est un cas très simple.

    Maintenant imaginons que vous êtes dans une boucle et que vous vouliez connaître la valeur d'une variable pour chaque itération, il suffit d'utiliser la touche c pour passer à l'itération suivante.

    Vous avez un tutoriel qui donne tous les raccourcis pour utiliser pdb.

Discussions similaires

  1. [FAQ] Comment déboguer un script JavaScript ?
    Par SylvainPV dans le forum Contributions JavaScript / AJAX
    Réponses: 1
    Dernier message: 06/11/2013, 08h04
  2. comment executer un script perl svp?
    Par nico72 dans le forum Langage
    Réponses: 8
    Dernier message: 13/07/2005, 09h51
  3. [Poweramc 9.5] comment generé le script ?
    Par mictif dans le forum PowerAMC
    Réponses: 2
    Dernier message: 20/06/2005, 12h44
  4. Réponses: 1
    Dernier message: 23/02/2005, 11h23
  5. [DEBUTANT]Comment executer un script sql
    Par peaceinpal dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2004, 08h44

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