Muitas vezes tenho que lidar com a depuração.Às vezes, defino um ponto de interrupção, mas entendo que é tarde demais e precisamos começar tudo de novo.Além disso, antes de iniciar a depuração, eu preparo os dados, limpo o banco de dados de registros desnecessários. Tudo para se esquecer de adotar um método aparentemente inofensivo e iniciar todo o processo novamente.Complicado pelo fato de você precisar trabalhar com código legado, que às vezes é difícil de entender.É possível entender melhor o código confuso? Mas e se pudermos entender esse código mais rapidamente do que quem o escreveu?Conheça oPyTrace é um rastreador de depuração de viagens no tempo
As principais diferenças do depurador tradicional:- Uma sessão é gravada uma vez e você pode reproduzi-la inúmeras vezes.
- Agora você não pode ter medo de esquecer de clicar em Entrar, sempre pode voltar e ir para a função de interesse.
- Não há mais sentido em usar `print`. Todas as variáveis são visíveis no inspetor a cada momento.
Além disso, usando o Flame Chart interno, você pode “mergulhar” rapidamente no método de interesse e ver o que realmente aconteceu:
[Comando] + Clique para ampliar a função de interesse[Shift] + Clique no método, transfere por um momento, quando a função está prestes a retornar.Tutorial de teclas de atalho:( em formato de texto )O que é gravado em tempo de execução:- Variáveis locais
- Valores recebidos e retornados
- Tempo desde o início da gravação
- Pilha de chamadas
Além disso, o conteúdo dos arquivos de origem é gravado no arquivo de reprodução no momento em que o depurador é iniciado.Para experimentar seu projeto:
1. Instale o pacote pip:pip install pycrunch-trace
2. Adicione decorador vestígio sobre o método de interesse:from pycrunch_trace.client.api import trace
@trace
def run():
some_code()
3. Execute o código!A reprodução será gravada no diretório de trabalho. Ele pode ser visualizado usando o aplicativo da web: app.pytrace.com(os dados não são enviados a lugar algum, todo o trabalho com a gravação ocorre localmente no navegador)Geralmente, adiciono um @trace
atributo aos métodos do Django View.Demonstração interativa
Eu recomendo passar por uma demonstração interativa para se familiarizar com todos os recursos.Referências
Github: Aplicativo da Web dopacote Pippara exibir sessões gravadas.Site:https://pytrace.com/Vídeo da principal funcionalidade: