2010-06-15 10 views
0

Je suis en train de déboguer un script que j'écris et le résultat de l'exécution d'une instruction de pdb n'a pas de sens alors ma réaction naturelle est d'essayer de le tracer avec pdb.Exécution de pdb à partir de pdb


Pour paraphraser: Yo Dawg, j'aime python, vous aussi mettre mon pdb dans mon pdb pour que je puisse déboguer pendant que je déboguer?

+0

Avez-vous essayé de mettre temporairement la déclaration dans le script? –

+0

Excuses pour une question quelque peu mal formulée. solution réelle à mon problème: lors de l'attribution des valeurs aux variables pour tester les choses dans pdb, attention à ce que les noms variables que vous utilisez. a = some (expression) + 42 N'est pas une affectation. Plutôt, pdb va interperer le 'a' en tant que commande et imprimer tous les arguments de la fonction en cours. foo = une (expression) + 42 œuvres J'ai trouvé depuis que je résoudre le mauvais problème. –

Répondre

0

On dirait que vous cherchez quelque chose assez répertorié en bonne place dans la documentation, qui est l'ensemble des méthodes qui vous permettent de invoquez le programme débogueur sur les expressions, le code dans les chaînes, ou fonctions:

Je les utilise quand je suis déjà à l'invite pdb (généralement ayant Götte n en rencontrant une instruction pdb.set_trace() bien placée et je veux tester, par exemple, des variations sur certains appels de méthodes qui ne sont pas appelés dans ma source mais que je peux appeler directement dans le contexte actuel, manuellement.

Si ce n'est pas ce que vous cherchez, vous voulez simplement la commande « étape » au lieu de la commande « suivante » à l'invite? (On ne sait pas ce que vous voulez vraiment ici. Un exemple pourrait aider.)