# Detalhe do erro

URL: /erros/detalhe

Leia a stack, o contexto e as ações que vieram antes de cada ocorrência, e crie um report a partir do erro.

Clique num erro da lista para abrir o detalhe.

<Figure src="/images/error-detail.png" alt="Detalhe de um erro com stack, contexto e gráficos de volume" caption="O detalhe reúne o resumo do erro e a ocorrência aberta." />

## O resumo do erro [#o-resumo-do-erro]

O topo traz o level, o status, o tipo e a mensagem, o arquivo e a função de origem e as ações de status. Abaixo, uma frase resume a história: a release em que o erro começou, há quanto tempo, as ocorrências, os usuários afetados e as ocorrências da última hora. Um card traz a primeira e a última vez, e gráficos de volume por hora nas últimas 24 horas e por dia nos últimos 14 dias.

A distribuição das tags mostra os valores mais frequentes de cada chave, como release, navegador, sistema operacional e URL. Abaixo, o histórico de status lista quem mudou, quando e de qual status para qual. A reabertura por regressão aparece como automática.

## Navegar pelas ocorrências [#navegar-pelas-ocorrências]

A ocorrência aberta é a mais recente. Os botões **Mais recente**, **Mais nova** e **Mais antiga** andam pelas ocorrências armazenadas. O id da ocorrência fica no endereço, no parâmetro `?event=`. Compartilhe o link para apontar uma ocorrência específica.

## O que cada ocorrência mostra [#o-que-cada-ocorrência-mostra]

1. **A exceção**, com a stack do frame mais recente para o mais antigo. Frames de bibliotecas seguidos ficam recolhidos num grupo.
2. **O painel de validação**, quando a aplicação enviou detalhes de uma validação que falhou: caminho, código, esperado, recebido e mensagem.
3. **As causas encadeadas**, cada uma com sua stack.
4. **A stack original**, quando os source maps foram enviados: arquivo, linha e função do código-fonte, com a posição no bundle embaixo.
5. **O request** da ocorrência, com headers e corpos.
6. **O contexto**: horário, release, navegador e sistema operacional, URL, usuário, tags e SDK.
7. **Os breadcrumbs**: o que aconteceu antes, como cliques, navegações e requisições. Aparecem os cinco mais próximos. Os anteriores abrem ao clicar.
8. **O estado da aplicação**, somente no [nível de dados completo](/erros/niveis-de-dados).

## Criar um report a partir do erro [#criar-um-report-a-partir-do-erro]

Clique em **Criar report** no detalhe. O Mira cria um report do tipo **Bug** no ambiente do erro e o abre. O título traz o tipo e a mensagem, e a descrição traz o link do erro, a release, os contadores, a origem e o request da última ocorrência. O report segue a [triagem](/triar/triagem) normal.

O vínculo aparece nos dois lados. O detalhe do erro lista os reports vinculados, com número, título e status, e o report mostra um card com os erros vinculados. Um report enviado pelo widget ou pela extensão já fica vinculado aos erros que ocorreram na mesma sessão da página.

## Código no GitHub [#código-no-github]

No [nível de código completo](/erros/niveis-de-dados#nível-de-código), com a [integração do GitHub](/integracoes/github) configurada e um repositório de código liberado no projeto, o detalhe ganha:

- **Link do frame**: o arquivo de cada frame da aplicação abre no GitHub, na linha do frame, no commit da release.
- **Commits suspeitos**: até cinco commits recentes que tocaram essas linhas, com autor, data e mensagem.

O commit vem da release, quando ela termina em `+<sha>`, como em `1.4.0+abc1234`. Sem commit, o detalhe avisa.

## Próximos passos [#próximos-passos]

- [Status do erro](/erros/status)
- [Níveis de dados](/erros/niveis-de-dados)
