Oto jak użyłbyś pdb w linii poleceń bez implementowania czegokolwiek w kodzie źródłowym (dokumentacja i inne zasoby online nie radzą sobie dobrze, wyjaśniając to programiście, który w przeszłości używał tylko wizualnych debuggerów):
Uruchom pdb, wpisując w zachęcie powłoki:
python -m pdb 'python_script'
To polecenie inicjuje pdb, a debugger pdb przerwie pierwszy wiersz twojego python_script i zaczeka na dane wejściowe od ciebie:
(Pdb)
To jest interfejs do komunikacji z debugerem. Teraz możesz określić swoje polecenia tutaj. W przeciwieństwie do używania przycisków lub skrótów klawiaturowych w wizualnych debugerach, tutaj użyjesz poleceń, aby uzyskać te same wyniki.
Możesz przejść do następnej linii w kodzie poleceniem „n” (dalej):
(Pdb) n
Wykonanie next wyświetli numer linii i określony kod w źródle:
> python_script(line number)method name
-> current line in the source code
Możesz ustawić punkt przerwania, określając numer wiersza w kodzie źródłowym.
(Pdb) b 50
W tym przypadku debugger jest ustawiony na przerwanie w linii 50. Jeśli nie ma innych punktów przerwania, punkt przerwania w linii 50 będzie pierwszym i można się do niego odwołać za pomocą identyfikatora punktu przerwania, który w tym przypadku wynosi 1. Jeśli dodasz więcej punktów przerwania, otrzymają identyfikatory sekwencyjnie (tj. 2, 3 itd.)
Po ustawieniu punktu przerwania będziesz kontynuować wykonywanie programu, dopóki pdb nie osiągnie punktu przerwania w następujący sposób:
(Pdb) c
Gdy dojdziesz do punktu przerwania, możesz przejść do następnej linii za pomocą polecenia n, jak opisano wcześniej. Jeśli chcesz sprawdzić wartości zmiennych, wykonaj polecenie parametru w następujący sposób:
(Pdb) p variable_name
Jeśli nie potrzebujesz już punktu przerwania, możesz go wyczyścić, przekazując identyfikator punktu przerwania za pomocą polecenia clear:
(Pdb) clear 1
Wreszcie, kiedy skończysz z debugerem, możesz zakończyć wykonywanie, tak jak zamknąłbyś interpreter wiersza poleceń Pythona.
(Pdb) exit()
Mam nadzieję, że pomoże to każdemu rozpocząć pracę z PDB. Oto lista poleceń, których możesz użyć z debugerem: pdb, więc pytanie i odpowiedzi