Glossário/Quando algo dá errado
Spindump
Também: relatório de travamento
Resposta rápida
Um spindump é um relatório de diagnóstico que registra o que os processos de um Mac estavam fazendo, usado para investigar apps que travam ou param de responder. O macOS inclui a ferramenta spindump, e o Monitor de Atividade pode gerar um pelo menu Mais.
Um spindump é como uma amostra do sistema inteiro, e não de um único processo. Ele mostra quais threads estavam rodando ou esperando, o que ajuda um desenvolvedor a ver por que um app parou de responder.
No Monitor de Atividade, a Apple descreve o Spindump como a criação de um relatório para apps que não respondiam e foram terminados com Forçar Encerrar. É um dos vários relatórios de diagnóstico do menu Mais, junto com Extrair Amostra do Processo e Diagnóstico do Sistema.
Nesta página
Como gerar um spindump no Monitor de Atividade
Clique no botão Mais (os três pontos) no alto da janela do Monitor de Atividade e escolha Executar Spindump. Pode ser pedida uma senha de administrador. O relatório abre quando fica pronto, e você pode salvá-lo.
Gere o spindump enquanto o app está travado, não depois, para que o relatório registre o problema.
O que fazer com um spindump
Anexe-o a um relatório de bug para o desenvolvedor do app, ou para a Apple pelo Assistente de Feedback. O relatório pode incluir os nomes dos apps e processos que você está rodando, então revise-o antes de compartilhá-lo publicamente.
Como gerar um spindump pelo Terminal
O comando spindump extrai amostras de todos os processos do Mac, por isso precisa rodar como root. Ele só registra o que os processos estão fazendo e não os interrompe.
- Abra o Terminal enquanto o app ainda está travado.
- Execute
sudo spindump Safari -reveal, trocando Safari por parte do nome do app. Digite a sua senha de administrador quando for pedida. - Espere enquanto ele extrai as amostras. A duração padrão é de 10 segundos.
- Quando ele termina, o relatório é salvo em /tmp, e a opção
-revealo mostra no Finder.
Como ler um spindump
O app que você indicou aparece primeiro, e todos os outros processos vêm depois. Cada processo mostra as threads dele e as pilhas de chamadas vistas durante a amostragem.
- Por padrão, as pilhas ficam ordenadas pela contagem. Uma linha que começa com 84 foi vista em 84 amostras.
- Uma estrela (*) no começo de um frame indica código do kernel.
- O frame mais profundo de cada pilha mostra se a thread estava rodando ou suspensa.
- Se a thread principal do app estiver suspensa esperando outro processo, olhe esse outro processo no mesmo relatório. Essa é a grande vantagem em relação à amostra de um único processo.
Onde os spindumps ficam salvos
Quando você força o encerramento de um app que não respondia, o macOS pode gerar um relatório automaticamente e oferecer o envio à Apple. Esses relatórios ficam em /Library/Logs/DiagnosticReports.
Você pode vê-los no app Console, em Aplicativos > Utilitários. Em Relatórios, na barra lateral, olhe Relatórios de Spin e Relatórios de Diagnóstico. Selecione um relatório para lê-lo.
Os relatórios que você mesmo gera pelo Monitor de Atividade abrem em uma janela quando terminam. Salve o relatório nessa janela antes de fechá-la, para ter uma cópia para enviar.
Amostra, spindump ou Diagnóstico do Sistema
O menu Mais do Monitor de Atividade oferece vários relatórios. Escolha o que combina com o problema. Um spindump é bem maior que uma amostra porque inclui todos os processos, e o Diagnóstico do Sistema demora ainda mais e mostra um aviso de privacidade antes de rodar. Se um desenvolvedor pedir uma amostra, mande uma amostra. Se o Suporte da Apple pedir um relatório específico, mande esse.
- Extrair Amostra do Processo: um processo, cerca de 3 segundos. Use quando você sabe qual app está travado ou ocupado.
- Spindump: todos os processos do Mac. Use quando um app trava e a causa pode ser outro processo.
- Diagnóstico do Sistema: um relatório maior, montado a partir de registros de todo o Mac, em geral pedido pelo Suporte da Apple.
Perguntas frequentes
O que é um spindump no Mac?
É um relatório de diagnóstico do que os processos estavam fazendo, usado para descobrir por que um app travou. Você pode gerar um pelo menu Mais do Monitor de Atividade.
Qual a diferença entre um spindump e uma amostra?
Extrair Amostra do Processo registra um único processo selecionado. Um spindump observa os processos do sistema todo, o que ajuda quando a causa de um travamento está fora do próprio app.
É normal o spindump usar muita CPU?
Ele pode usar CPU por pouco tempo enquanto escreve um relatório, muitas vezes depois que um app trava. Deve parar sozinho quando o relatório estiver pronto.
Por que o spindump pede a senha de administrador?
Ele lê as pilhas de chamadas de todos os processos do Mac, inclusive os do sistema. O macOS só permite isso ao root.
Posso gerar um spindump quando nada está travado?
Pode, mas ele só vai mostrar a atividade normal. Gere-o enquanto o app está travado, para que o relatório registre o problema.
Por que apareceu um spindump depois que forcei o encerramento de um app?
O macOS usa o spindump para registrar o que um app que não respondia estava fazendo quando foi forçado a encerrar. É esse relatório que a caixa de diálogo de “enviar à Apple” oferece para enviar.
Relacionados
Procurando algo melhor que o Monitor de Atividade? Veja as melhores alternativas ao Monitor de Atividade para Mac ou navegue por todos os termos do glossário.