Mister Download Manager
  1. Início
  2. Ajuda
  3. Relatórios de falhas

Relatórios de falhas

Se o Mister Download Manager fechar inesperadamente ou deixar de responder, abre-se uma janela de relatório de erros. Mostra o que aconteceu, permite ler o relatório completo e pode enviá-lo aos programadores no GitHub. Cada relatório ajuda a corrigir o problema para todos.

A janela de relatório de falhas depois de o MDM parar de responder

O que vê

  • Mister Download Manager fechou inesperadamente: o MDM falhou ou encontrou um erro interno e fechou.
  • Mister Download Manager deixou de responder: a sua janela não respondeu durante 8 segundos. O MDM ainda está a ser executado, congelado. Terminar e reiniciar o MDM fecha a cópia congelada e inicia uma nova. Se o MDM voltar a responder sozinho, a janela indica-o.

Na janela:

  1. O que estava a fazer quando aconteceu? é opcional. Algumas palavras, como "Abri Adicionar URL", ajudam muito.
  2. O relatório mostra tudo o que seria enviado. Leia-o primeiro, se quiser.
  3. Enviar no GitHub abre o formulário Crash report do GitHub no seu navegador, já preenchido, juntamente com a pasta que contém o relatório. Arraste o ficheiro do relatório para o formulário, verifique-o e envie. Precisa de uma conta GitHub. Nada é enviado automaticamente.
  4. Se alguém já reportou o mesmo problema, a janela indica-o (Já reportado como problema #…). Abrir o problema reportado abre-o e coloca o seu relatório na área de transferência, para que possa adicioná-lo como um comentário.

Os outros botões copiam o relatório, abrem a sua pasta ou iniciam o MDM novamente.

O que um relatório contém

  • O que aconteceu: o erro e o local no código do MDM onde ocorreu.
  • A pilha: o local no código do MDM onde falhou ou congelou, e o que todas as outras partes estavam a fazer.
  • Registo recente do MDM: por exemplo "comando AddUrl" ou "janela aberta: add-url".
  • O sistema: a versão do MDM e como o instalou, o seu sistema operativo e a sua versão, o processador, o idioma e o tema, e quantos downloads e filas tem. São apenas contagens.

Não contém o seguinte:

  • os seus endereços de download ou nomes de ficheiro;
  • o seu nome de utilizador, que aparece como ~ nos caminhos das pastas.

Se uma mensagem de erro citar algo que digitou, esse texto está no relatório, por isso leia-o antes de enviar.

O ficheiro de dados de falha (.dmp) é um instantâneo do que o MDM estava a executar naquele momento. Ajuda mais os programadores, mas pode conter partes do que o MDM tinha em memória, como endereços de download, cookies e palavras-passe guardadas. É anexado apenas quando marca Também anexar os dados de falha.

Onde os relatórios são guardados

Na pasta de dados do MDM:

  • crashes\: cada relatório (.txt) e os seus dados de falha (.dmp);
  • logs\: o registo do MDM (mdm.log, com os mais antigos como mdm.1.log e assim por diante, 2 MB cada).

A pasta de dados do MDM é %APPDATA%\misterdownloadmanager no Windows, ~/Library/Application Support/misterdownloadmanager no macOS e ~/.local/share/misterdownloadmanager no Linux. No modo portátil é a pasta data ao lado do programa.

O registo grava o que o MDM faz, para que um relatório possa mostrar o que levou a um problema. Para registar mais detalhes, inicie o MDM com a variável de ambiente MDM_LOG=debug.

Para programadores

Como funciona: uma segunda cópia do MDM, o monitor, inicia-se ao lado com --crash-monitor. O código de falha reside em crates/crash e crates/app/src/crash.rs.

  • Capturar problemas. Quando o MDM falha (uma exceção do Windows, um sinal no Linux, uma exceção Mach no macOS), entra em pânico ou congela, pede um despejo ao monitor. Um congelamento é um quadro da janela a ser executado por mais de 8 s, visto por um thread de vigilância que ignora o tempo gasto em repouso. O monitor então escreve um minidump de cada thread de fora, através de minidumper e crash-handler. Um processo falhado nunca escreve o seu próprio despejo, que é como o Firefox, o Crashpad e o Sentry também o fazem.
  • Ler o ficheiro de despejo. O monitor lê o ficheiro de despejo com o rust-minidump da Mozilla. Utiliza os símbolos Breakpad da versão quando estes são encontrados. Uma compilação a partir do código-fonte também pode ler as informações de depuração nativas ao lado (o seu .pdb, DWARF) quando compilado com --features mdm-crash/native-symbols; a aplicação fornecida não inclui esse leitor, que ocupa vários MB. A Assinatura do relatório (por exemplo, freeze in misterdownloadmanager::winui::combo_edit) permanece a mesma em todos os relatórios de um problema, e a janela procura problemas existentes com base nela.
  • Símbolos. As compilações de lançamento mantêm tabelas de linhas (debug = "line-tables-only"), mas nenhum download inclui as informações de depuração. O CI transforma-as em MisterDownloadManager-<version>-symbols-<platform>.zip (tools/installer/symbols.py, usando o dump_syms da Mozilla), publicadas ao lado dos outros ficheiros da versão. A janela de relatório obtém o zip para a sua própria versão quando uma pilha mostra endereços puros.
  • Um .dmp de um problema:

cargo run -p mdm-crash --bin mdm-symbolicate -- crash.dmp MisterDownloadManager-<version>-symbols-windows-x64.zip

  • Testar. cargo test -p mdm-crash executa um congelamento, pânico e falha reais (examples/crashy.rs) e verifica a assinatura de cada relatório. Para experimentar na aplicação, inicie o MDM com MDM_CRASH_TEST=1 e, em seguida, execute misterdownloadmanager /show crash-test:freeze (ou panic, crash, abort).

Gratuito, de código aberto, sem anúncios, sem período de avaliação.

Transferir Mister Download Manager