PyTrace - Depurador de viajes en el tiempo para Python

A menudo tengo que lidiar con la depuración.

A veces establezco un punto de interrupción, pero entiendo que es demasiado tarde y que debemos comenzar de nuevo.

Además, antes de comenzar la depuración, preparo los datos, borro la base de datos de registros innecesarios. Todo para olvidar entrar en un método aparentemente inofensivo y comenzar todo el proceso nuevamente.

Complicado por el hecho de que tiene que trabajar con código heredado, que a veces es difícil de entender.

¿Es posible entender mejor el código confuso? Pero, ¿qué pasa si podemos entender dicho código más rápido que el que lo escribió?

Meet

PyTrace es un rastreador de depuración de viajes en el tiempo

imagen

Las principales diferencias con el depurador tradicional:

  1. Una sesión se graba una vez y puede reproducirla un número infinito de veces.
  2. Ahora no puede tener miedo de olvidarse de hacer clic en Paso a paso, siempre puede regresar e ir a la función de interés.
  3. No tiene más sentido usar `print`. Todas las variables son visibles en el inspector en cada momento.

Además, utilizando el gráfico de llamas incorporado, puede "sumergirse" rápidamente en el método de interés y ver lo que realmente sucedió allí:

imagen

[Comando] + clic para ampliar la función de interés
[Shift] + clic en el método, transferencias por un momento, cuando la función está por regresar.

Tutorial de teclas de acceso rápido:
( en forma de texto )

Lo que se registra en tiempo de ejecución:

  1. Variables locales
  2. Valores entrantes y retornados
  3. Tiempo desde que comenzó la grabación
  4. Pila de llamadas

Además, el contenido de los archivos de origen se escribe en el archivo de reproducción en el momento en que se inicia el depurador.

Para probar su proyecto:


1. Instale el paquete pip:

pip install pycrunch-trace

2. Añadir decorador rastro sobre el método de interés:

from pycrunch_trace.client.api import trace

@trace
def run():
    some_code()

3. Ejecute el código!

La reproducción se grabará en el directorio de trabajo. Se puede ver usando la aplicación web: app.pytrace.com
(los datos no se envían a ninguna parte, todo el trabajo con la grabación se realiza localmente en el navegador) Por

lo general, agrego un @traceatributo a los métodos de Django View.

Demo interactiva


Recomiendo pasar por una demostración interactiva para familiarizarse con todas las características.

Referencias


Github: aplicación web de

paquete Pip
para ver sesiones grabadas

Sitio web:

https://pytrace.com/

Video de la funcionalidad principal:


All Articles