Debug-Code im Python-Interpreter

9

Ich mag es, Funktionen im Python-Interpreter zu testen. Ist es möglich, eine Funktion im Python-Interpreter zu debuggen, wenn ich mehr als einen Rückgabewert und einen Nebeneffekt sehen möchte?

Wenn ja, könnten Sie grundlegende Debugger-Operationen anzeigen ( Starten der Funktion mit Argumenten, Setzen des Haltepunkts, nächster Schritt, Einstieg in die Variable )? Wenn nicht, wie würden Sie eine Funktion auf andere Weise debuggen?

Der Punkt ist, ich möchte nur eine bestimmte Funktion debuggen, die mit Argumenten versorgt wird. Ich möchte den gesamten Modulcode nicht debuggen.

vielen Dank für den Rat

    
xralf 24.04.2012, 10:23
quelle

3 Antworten

7

Wenn Sie bestimmte Funktionen debuggen möchten, können Sie dies verwenden -

%Vor%

über die Befehlszeile. pdb.set_trace() sollte in Ihrer Funktion hinzugefügt werden, um dort zu brechen.

Weitere Informationen zu pdb finden Sie hier - Ссылка

    
Karthik Ananth 24.04.2012, 10:31
quelle
6

Siehe pdb-Modul. In Code einfügen:

%Vor%

... macht einen Haltepunkt.

    
Bittrance 24.04.2012 10:26
quelle
2

Der Code zum Debuggen muss nicht geändert werden, um pdb.set_trace() einzuschließen. Dieser Aufruf kann direkt im Interpreter kurz vor dem Code-to-Debug erfolgen:

%Vor%

Geben Sie beispielsweise test_script.py mit dem folgenden Code ein:

%Vor%

Eine Interpretersitzung zum Debuggen von some_func mit den Debuggerbefehlen step-in ( s ), next ( n ) und continue ( c ) würde wie folgt aussehen:

%Vor%

Weitere Informationen zur Verwendung des Debuggers finden Sie in den Dokumenten für das Modul pdb : Ссылка

Außerdem bietet der help -Befehl während der Verwendung des Debuggers eine schöne Liste von Befehlen und help <command> gibt spezifische Hilfe für den gegebenen Befehl.

    
gunderbolt 20.07.2017 15:40
quelle