Ich muss mich oft mit dem Debuggen befassen.Manchmal setze ich einen Haltepunkt, aber ich verstehe, dass es zu spät ist und wir von vorne beginnen müssen.Außerdem bereite ich vor dem Debuggen die Daten vor und lösche die Datenbank von unnötigen Datensätzen. Alles, um zu vergessen, in eine scheinbar harmlose Methode zu gehen und den gesamten Prozess neu zu starten.Kompliziert durch die Tatsache, dass Sie mit Legacy-Code arbeiten müssen, was manchmal schwer zu verstehen ist.Ist es möglich, den verwirrenden Code besser zu verstehen? Aber was ist, wenn wir solchen Code schneller verstehen können als derjenige, der ihn geschrieben hat?MeetPyTrace ist ein Zeitreise-Debugging-Tracer
Die Hauptunterschiede zum traditionellen Debugger:- Eine Sitzung wird einmal aufgezeichnet und kann unendlich oft abgespielt werden.
- Jetzt können Sie keine Angst mehr haben, zu vergessen, auf Schritt in zu klicken. Sie können jederzeit zurückgehen und zur gewünschten Funktion wechseln.
- Es macht keinen Sinn mehr, `print` zu verwenden. Alle Variablen sind zu jedem Zeitpunkt im Inspektor sichtbar.
Mithilfe des integrierten Flammendiagramms können Sie schnell in die interessierende Methode „eintauchen“ und sehen, was dort wirklich passiert ist:
[Befehl] + Klicken, um die interessierende Funktion zu vergrößern[Umschalt] + Klicken Sie auf die Methode, übertragen Sie für einen Moment, wenn die Funktion zurückkehren soll.Hotkey-Tutorial:( in Textform )Was zur Laufzeit aufgezeichnet wird:- Lokale Variablen
- Eingehende und zurückgegebene Werte
- Zeit seit Beginn der Aufnahme
- Stapel aufrufen
Außerdem wird der Inhalt der Quelldateien zum Zeitpunkt des Starts des Debuggers in die Wiedergabedatei geschrieben.Um Ihr Projekt anzuprobieren:
1. Installieren Sie das Pip-Paket:pip install pycrunch-trace
2. Dekorateur hinzufügen Spur zur Methode von Interesse:from pycrunch_trace.client.api import trace
@trace
def run():
some_code()
3. Führen Sie den Code aus!Die Wiedergabe wird im Arbeitsverzeichnis aufgezeichnet. Es kann mit der Webanwendung angezeigt werden: app.pytrace.com(Daten werden nirgendwo gesendet, alle Arbeiten mit der Aufzeichnung erfolgen lokal im Browser).Normalerweise füge ich @trace
den Django View-Methoden ein Attribut hinzu.Interaktive Demo
Ich empfehle eine interaktive Demo , um sich mit allen Funktionen vertraut zu machen.Verweise
Github:Pip-Paket-Webanwendung zum Anzeigen aufgezeichneter Sitzungen.Website:https://pytrace.com/Video der Hauptfunktionen: