Jak używać PDB, debugger Pythona

Jak używać PDB, debugger Pythona
„Debugger w najprostszej formie jest narzędziem, które umożliwia użytkownikom ładowanie programu w określonym czasie i analizowanie atrybutów, stosu połączeń i cokolwiek innego, co użytkownicy chcą obserwować, tworzyć niejawne konfiguracje i kontynuować oryginalną linię programu przez linię. Jeśli użytkownicy używają Pythona, można wykonać kod skompilowany w wierszu polecenia, przejrzyj kod podczas debugowania, a czasem nawet zwiększ skuteczność, zmieniając wartości parametrów.

Pakiet Pythona PYTON ułatwia debugowanie. Jest to wbudowany debugger związany z biblioteką Standard Python. Jest to wyraźnie zauważane jako klasa PDB, która skutecznie wykorzystuje pakiety CMD (obsługę procesorów poleceń zorientowanych na linię) i BDB (podstawowe operacje debuggera). Ilekroć nie mamy dostępu do graficznego debuggera opartego na interfejsie użytkownika, główną zaletą korzystania z PDB jest to, że wykonuje się on tylko na wierszu poleceń i może być również używany do debugowania programów na komputerach w chmurze.

Tworzenie punktów przerwania, przechodzenie przez skrypt, prezentowanie plików konfiguracyjnych, a także obserwowanie śladów stosu to wszystkie funkcje, które zapewnia PDB.

Musimy tylko wprowadzić zintegrowane instrukcje PDB i set_trace (), aby rozpocząć debugowanie kodu. Wykonaj normalnie program, a określony przez nas punkt przerwania może spowodować zakończenie wykonania. Dlatego niezwykle trudno jest ustawić punkt przerwania na bloku przed wykonaniem funkcji Set Trace (). Breakpoint (), metoda wbudowana w Python 3.7 i kolejne wersje, wykonuje podobną funkcjonalność.

Ten post przejdzie, jak wykorzystać debugger Python lub PDB."

Przykład nr 1

W tym przykładzie dodamy dwie liczby razem. Kod dołącza ciągi zwrócone przez funkcję input (), a nie dodawanie wprowadzonych wartości.

Importuj PDB
def dodanie (x, y):
ans = x + y
powrót ans
PDB.set_trace ()
l = wejście ("Wprowadź 1St wartość : ")
m = wejście ("Wprowadź 2Nd wartość : ")
S = Dodatek (L, M)
wydruk (y)

Uwzględnimy plik nagłówka PDB na początku kodu. Wbudowany debugger Pythona jest znany jako PDB. Zapewnia wszystkie możliwości debuggera, których potrzebujemy, ale kiedy chcemy go nieco posuwać, możemy użyć IPDB do dodania narzędzi z ipython do debuggera. Następnie zdefiniujemy metodę dodawania (). Zapewniamy dwie różne zmienne jako jej parametry. Poniższy krok obejmie ogłoszenie zmiennej o nazwie „Ans."

Tutaj dodajemy wartości tych zmiennych, które przekazujemy jako argumenty funkcji dodawania (). Ta metoda zwraca odpowiedź. Nazwijmy metodę set_trace (). Ta funkcja jest powiązana z biblioteką PDB. Dwukrotnie korzystamy z metody wejściowej (); pierwszy służy do wydrukowania linii na ekranie „Wprowadź 1St wartość". Dlatego gdy użytkownik zobaczy tę wiadomość na ekranie, wprowadzi pierwszą wartość. Do przechowywania wartości można użyć zmiennej o nazwie „L”.

Podobnie metoda drugiej input () wyświetla tekst „Wprowadź 2Nd wartość". Zmienna „M” zawiera tę wartość. Nazywa się to teraz funkcją dodawania (). Ta funkcja zawiera dwa parametry. Na koniec stosujemy metodę print (), aby wyświetlić wynikową wartość.

Względna ścieżka do programu, linia, w której znajduje się instrukcja przerwania, a pakiet jest podany w wyniku. Ogólnie wskazuje, że typ modułu systemu osiągnął punkt przerwania. Jeśli instrukcja przerwania zostanie dodana do skryptu, jego wartość może nastąpić w środku . Blok kodu, w którym przetwarzanie jest przerywane, jest wyświetlany na wyjściu.

Przykład nr 2

Kod źródłowy jest importowany przez wyrażenie, które następnie przerywa wykonanie w pierwszym bloku programu. Debugowanie pośmiertne wymaga rozpoczęcia wdrożenia programu w trybie jądra po błędach, ponieważ już miało miejsce. Narzędzia w PDB zapewniają debugowanie pośmiertne. Niektóre aplikacje szukają dynamicznego śledzenia i aktywują debugger w segmencie stosu połączeń, w którym pojawił się błąd. Za każdym razem, gdy błąd jest wykrywany przez aplikację, możemy zobaczyć wyświetlacz PDB w wyniku dostarczonej instancji.

def pomnóż (i, j):
ans = i * j
powrót ans
u = wejście („Wprowadź pierwszą wartość:”)
v = wejście („Wprowadź drugą wartość:”)
res = pomnóż (u, v)
Drukuj (res)

Przede wszystkim definiuje się metodę multiply (). Podaliśmy dwie różne zmienne jako nasze argumenty. Zainicjowaliśmy zmienną o nazwie „Ans” w następnym etapie. Tutaj pomnożamy wartości zmiennych, które podajemy metodę mnożenia () jako argumenty. To podejście zwraca wynik.

Teraz użylibyśmy funkcji input () dwa razy, po raz pierwszy przedstawiając instrukcję „Wprowadź pierwszą wartość” na ekranie. Dlatego, gdy użytkownik zobaczy ten tekst na ekranie, zapewni pierwszą wartość. Zmienną o nazwie „U” można użyć do przechowywania wartości. Druga funkcja wejściowa () podobnie pokazuje komunikat „Wprowadź drugą wartość.„Druga liczba całkowita należy traktować jako dane wejściowe. Zmienna „V” zawiera tę wartość. Metoda mnożenia () jest teraz wywoływana. Wartości określone przez użytkownika przejdą jako dwa argumenty w tej metodzie. Na koniec będziemy używać funkcji print (), aby pokazać wynik.

Wniosek

W tym artykule rozmawialiśmy o tym, jak korzystać z debuggera Pythona „PDB”. Debugowanie jest terminem często używanym w procesie tworzenia oprogramowania w celu zdefiniowania ram do identyfikacji i ustalania błędów programowych. Standardowa biblioteka Pythona zawiera pakiet PDB, zbiór narzędzi do debugowania kodu. Klasa PDB zawiera definicję możliwości debugowania. Pakiety BDB i CMD są używane przez moduł domyślnie. Wykonujemy dwa przykłady, aw pierwszym wykorzystujemy debugger PDB, aby pozbyć się wyjątku. W drugim przypadku nie użylibyśmy „PDB”, dlatego otrzymujemy błąd.