PyTrace - Débogueur de voyage dans le temps pour Python

Je dois souvent gérer le débogage.

Parfois, je fixe un point d'arrêt, mais je comprends qu'il est trop tard et nous devons tout recommencer.

De plus, avant de commencer le débogage, je prépare les données, efface la base de données des enregistrements inutiles. Tout cela pour oublier de passer à une méthode apparemment inoffensive et recommencer tout le processus.

Compliqué par le fait que vous devez travailler avec du code hérité, ce qui est parfois difficile à comprendre.

Est-il possible de mieux comprendre le code déroutant? Mais que se passe-t-il si nous pouvons comprendre un tel code plus rapidement que celui qui l'a écrit?

Rencontrez

PyTrace est un Debugging Time-Voyage Tracer

image

Les principales différences par rapport au débogueur traditionnel:

  1. Une session est enregistrée une fois et vous pouvez la lire un nombre infini de fois.
  2. Maintenant, vous ne pouvez pas avoir peur d'oublier de cliquer sur Step Into, vous pouvez toujours revenir en arrière et accéder à la fonction qui vous intéresse.
  3. Il n'est plus utile d'utiliser `print`. Toutes les variables sont visibles dans l'inspecteur à chaque instant.

En outre, en utilisant le tableau de flammes intégré, vous pouvez rapidement «plonger» dans la méthode d'intérêt et voir ce qui s'est réellement passé là-bas:

image

[Commande] + Cliquez pour zoomer sur la fonction d'intérêt
[Maj] + Cliquez sur la méthode, transfère pendant un moment, lorsque la fonction est sur le point de revenir.

Tutoriel sur les raccourcis clavier:
( sous forme de texte )

Ce qui est enregistré lors de l'exécution:

  1. Variables locales
  2. Valeurs entrantes et retournées
  3. Temps écoulé depuis le début de l'enregistrement
  4. Pile d'appels

De plus, le contenu des fichiers source est écrit dans le fichier de relecture au démarrage du débogueur.

Pour essayer votre projet:


1. Installez le package pip:

pip install pycrunch-trace

2. Ajouter un décorateur trace sur la méthode d'intérêt:

from pycrunch_trace.client.api import trace

@trace
def run():
    some_code()

3. Exécutez le code!

La relecture sera enregistrée dans le répertoire de travail. Il peut être consulté à l'aide de l'application Web: app.pytrace.com
(les données ne sont envoyées nulle part, tout le travail avec l'enregistrement se fait localement dans le navigateur)

J'ajoute généralement un @traceattribut aux méthodes de Django View.

Démo interactive


Je recommande de passer par une démo interactive pour se familiariser avec toutes les fonctionnalités.

Références


Github: application Web du

package Pip
pour visualiser les sessions enregistrées

Site Web:

https://pytrace.com/

Vidéo de la fonctionnalité principale:


All Articles