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.
D’abord ça commence avec des print()
puis du pdb… Puis le code se retrouve dans en background, ou on a des threads, des sous-processes, des proxies, son serveur WSGI qui tourne, etc. Et là, il faut sortir les outils de logging, la massue, le truc qui demande 3 ans à config.
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é […]
L’avantage des fichiers de settings en pur Python, c’est qu’on peut faire des trucs mignons comme ça….
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…