Ce face breakpoint()
Când execuția ajunge la breakpoint(), programul se oprește și apare promptul (Pdb). Acolo poți afișa variabile (p nume), merge pas cu pas (n = rândul următor, s = intră în funcție), continua (c) sau ieși (q).
Este echivalentul modern al lui import pdb; pdb.set_trace(). Variabila de mediu PYTHONBREAKPOINT=0 dezactivează toate apelurile, fără să le ștergi din cod.
Exemple
Exemplul 1: O sesiune de depanare
def total(cos):
suma = 0
for pret, cantitate in cos:
suma += pret * cantitate
breakpoint()
return suma
total([(4.5, 2), (7, 3)])
Rezultat (sesiune interactivă în terminal)
> exemplu.py(5)total()
-> breakpoint()
(Pdb) p suma
9.0
(Pdb) p pret, cantitate
(4.5, 2)
(Pdb) c
> exemplu.py(5)total()
-> breakpoint()
(Pdb) p suma
30.0
(Pdb) q
Greșeli frecvente
- Uiți
breakpoint()în codul pus în producție: programul se blochează așteptând comenzi. Caută și șterge apelurile înainte de publicare.
Comenzi înrudite
print(): Afișează unul sau mai multe texte sau valori pe ecran.repr() și ascii(): Returnează reprezentarea „tehnică” a unei valori, utilă la depanare; ascii() o face doar cu caractere ASCII.sys.settrace(), setprofile() și call_tracing(): Funcții apelate de interpretor la fiecare apel sau rând de cod, baza depanatoarelor și profilerelor.