Anúncios incomodam? Ir Sem anúncios Hoje

Formatação e Parser de Rastreamento de Pilha

DadosDesenvolvedorTexto
ANUNCIADO Remover?

Pilha limpa (Markdown)

ANUNCIADO Remover?

Guia

Formatação e análise de pilha de exceção

Formatação e Parser de Rastreamento de Pilha

Cole uma pilha bruta de JavaScript, Python, Java, Ruby, Go, .NET ou PHP e obtenha imediatamente uma análise colorida, quadro por quadro. A ferramenta detecta automaticamente a linguagem, separa seu código do ruído do framework e gera um bloco de Markdown limpo que pode ser colado diretamente em um relatório de erro ou solicitação de código.

Como usar

  1. Cole a pilha bruta no área de entrada, ou clique em um dos exemplos de linguagem para ver a formatação em ação.
  2. Deixe a linguagem ativa Detectar Automaticamente, ou escolha manualmente se o formato for inusitado ou truncado.
  3. Alternar Colapsar quadros do framework / fornecedores para dobrar longas sequências de código de biblioteca em um único bloco expansível.
  4. Use o Destacar quadros de código do usuário para destacar seus próprios arquivos entre o resto da pilha.
  5. Clique no botão de cópia ao lado da saída em Markdown para colar um bloco limpo no GitHub, Slack ou Jira.

Características

  • Sete linguagens suportadas – JavaScript / TypeScript, Python, Java / Kotlin, Ruby, Go, .NET (C#) e PHP.
  • Detecção automática de linguagem – o analisador inspeciona padrões característicos na sua pilha e escolhe a gramática correta, de modo que você raramente precise definir manualmente.
  • Colapso de quadros do fornecedor – longas sequências de node_modules, site-packages, Spring, gems ou namespaces System.* são dobradas em uma única linha expansível.
  • Destaque de código do usuário – seus próprios arquivos aparecem em uma cor acentuada para que as linhas relevantes não se escondam no ruído.
  • Resumo de exceção – o tipo e a mensagem são extraídos em um cabeçalho com marcadores para contagem total, quadros do usuário e quadros do fornecedor.
  • Cadeias causadas – causas aninhadas do Java e rastreamentos encadeados do Python são exibidas como seções separadas.
  • Exportação em Markdown – gera um bloco de código delimitado pronto para ser colado em relatórios de erros, solicitações de código ou ferramentas de chat.
  • Totalmente no lado do cliente – nada jamais sai do seu navegador; seguro para uso com pistas de pilha de sistemas em produção.

Casos de uso comuns

  • Triagem de um incidente em produção – cole uma longa pilha e identifique imediatamente qual dos seus próprios arquivos está no início da cadeia.
  • Escreva um melhor relatório de erro – exporte uma pilha formatada em Markdown que se renderiza corretamente no GitHub, GitLab e Jira.
  • Revise o log de erro de um colega – colapse quadros de terceiros para manter a conversa focada no código que você realmente controla.
  • Ensine a depuração – use a coloração de código do usuário e fornecedor para mostrar novos desenvolvedores como ler uma pilha de baixo para cima.

Perguntas frequentes

  1. Por que você lê uma pilha de exceção de baixo para cima?

    Em maioria das linguagens, a pilha cresce para baixo enquanto funções chamam uma outra, e o ambiente imprime a chamada mais recente no topo. Ler de baixo para cima fornece a ordem cronológica: o ponto de entrada primeiro, seguido por cada chamada subsequente, e a linha que falhou no final. Olhar para o final também é onde as cláusulas 'causado por' estão em Java e os rastreamentos encadeados estão em Python, que muitas vezes contêm a causa real.

  2. Qual a diferença entre uma pilha de exceção e um dump de crash?

    Uma pilha de exceção é uma lista textual de chamadas de função ativas quando uma exceção foi levantada. Um dump de crash é uma cópia binária de memória, registradores e fios no momento de um erro fatais, geralmente gerado pelo sistema operacional ou pelo ambiente de execução. Pilhas de exceção são baratas e compartilháveis em chats; dumps de crash exigem um depurador para serem úteis e muitas vezes contêm conteúdos sensíveis de memória.

  3. O que são quadros de framework ou fornecedor?

    Quadros cujo caminho de arquivo ou nome completo pertence a uma biblioteca, framework, ambiente de execução ou dependência instalada, e não ao seu código-fonte próprio. Exemplos incluem qualquer coisa sob node_modules, site-packages, vendor/, /usr/lib/, o GOROOT, prefixos java.* / javax.* e os namespaces System.* / Microsoft.* no .NET. Eles raramente contêm o erro que você está procurando, o que é a razão pela qual colapsá-los torna a pilha muito mais fácil de ler.

  4. Por que os rastreamentos do Python incluem a linha 'During handling of the above exception'?

    O Python preserva cadeias de exceções: quando uma exceção é levantada enquanto outra está sendo tratada, o interpretador imprime ambas. 'During handling of the above exception, another exception occurred' marca uma cadeia implícita, enquanto 'The above exception was the direct cause of the following exception' marca uma cadeia explícita definida via 'raise X from Y'. Juntas, ajudam a ver se um erro posterior foi causado por, ou simplesmente ocorreu sobre, um erro anterior.

  5. O que é um panic no Go e como ele difere de uma exceção?

    Um panic é o mecanismo do Go para erros de tempo de execução irreversíveis, semelhante em espírito a uma exceção, mas intencionalmente mais restrito. O Go usa valores de erro retornados para modos de falha esperados e reserva panic para bugs programáticos genuínamente inesperados, como referência a ponteiro nulo ou acesso fora dos limites de uma fatia. Um panic percorre a pilha da goroutine, executa funções defer e, em última instância, causa a falha do programa, a menos que seja capturado por recover.

Quer eliminar anúncios? Fique sem anúncios hoje mesmo

Instale nossas extensões

Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida

Ao Extensão do Chrome Ao Extensão de Borda Ao Extensão Firefox Ao Extensão Opera

O placar chegou!

Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!

ANUNCIADO Remover?
ANUNCIADO Remover?
ANUNCIADO Remover?

Notícias com destaques técnicos

Envolver-se

Ajude-nos a continuar fornecendo ferramentas gratuitas valiosas

Compre-me um café
ANUNCIADO Remover?