Breakpoint conditionnels
Quand vous lancez pdb, il est parfois intéressant stopper le programme à un endroit donné sous une certaine condition.
Quand vous lancez pdb, il est parfois intéressant stopper le programme à un endroit donné sous une certaine condition.
Vous vous souvenez de excepthook et de pdb ? Mélangeons les deux ! import sys import traceback import pdb def pdb_post_mortem(exc_type, exc_val, exc_tb): # On affiche l’exception histoire de savoir ce qu’on debug print("".join(traceback.format_exception(exc_type, exc_val, exc_tb))) # On balance pdb en mode post mortem, c’est à dire qu’il va se lancer # malgré […]
Vous aimez pdb parce que c’est cool. Et vous adorez pdbpp parce que c’est trop cool. Mais parfois vous n’avez pas accès à une console sur votre process : il est derrière un nginx, ou même sur une machine distante. rpdb vient résoudre ce problème en lançant un serveur telnet qui donne accès à votre […]
Si vous avez bien lu l’article sur pdb, vous devez être accroc à set_trace()
pour debugger vos programmes.
Oui mais quand votre programme plante, il faut lancer l’éditeur, trouver la ligne, faire un try
/except
, et en plus ramer si c’est dans une boucle.
On peut faire mieux.
Mettez vos prints de debug au placard, et apprenez à programmer debugger comme un homme, un vrai. Un homme qui n’a pas peur d’avoir un mug USB. Heu…