PyTrace - Zeitreise-Debugger für Python

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?

Meet

PyTrace ist ein Zeitreise-Debugging-Tracer

Bild

Die Hauptunterschiede zum traditionellen Debugger:

  1. Eine Sitzung wird einmal aufgezeichnet und kann unendlich oft abgespielt werden.
  2. 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.
  3. 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:

Bild

[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:

  1. Lokale Variablen
  2. Eingehende und zurückgegebene Werte
  3. Zeit seit Beginn der Aufnahme
  4. 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 @traceden 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:


All Articles