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 parar de responder, uma janela de relatório de erro será aberta. Ela mostra o que aconteceu, permite que você leia o relatório completo e pode enviá-lo aos desenvolvedores no GitHub. Cada relatório ajuda a corrigir o problema para todos.

A janela de relatório de falha depois que o MDM parou de responder

O que você vê

  • Mister Download Manager fechou inesperadamente: o MDM travou ou encontrou um erro interno e fechou.
  • Mister Download Manager parou de responder: a janela não respondeu por 8 segundos. O MDM ainda está em execução, mas congelado. Encerrar e reiniciar o MDM fecha a cópia congelada e inicia uma nova. Se o MDM responder novamente por conta própria, a janela informará.

Na janela:

  1. O que você estava fazendo 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, junto com a pasta que contém o relatório. Arraste o arquivo do relatório para o formulário, verifique-o e envie. Você precisa de uma conta GitHub. Nada é enviado automaticamente.
  4. Se alguém já relatou o mesmo problema, a janela informa (Já relatado como problema #…). Abrir o problema relatado o abre e coloca seu relatório na área de transferência, para que você possa adicioná-lo como um comentário.

Os outros botões copiam o relatório, abrem a 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 travou ou congelou, e o que cada outra parte estava fazendo.
  • Registro recente do MDM: por exemplo, "comando AddUrl" ou "janela aberta: add-url".
  • O sistema: a versão do MDM e como você o instalou, seu sistema operacional e sua versão, o processador, o idioma e o tema, e quantos downloads e filas você tem. São apenas contagens.

Ele não contém:

  • seus endereços de download ou nomes de arquivo;
  • seu nome de usuário, que aparece como ~ nos caminhos das pastas.

Se uma mensagem de erro citar algo que você digitou, esse texto estará no relatório, então leia-o antes de enviar.

O arquivo de dados de erro (.dmp) é um instantâneo do que o MDM estava executando naquele momento. Ele ajuda mais os desenvolvedores, mas pode conter partes do que o MDM tinha na memória, como endereços de download. Ele só é anexado quando você marca Também anexar os dados de erro.

Onde os relatórios são mantidos

Na pasta de dados do MDM:

  • crashes\: cada relatório (.txt) e seus dados de erro (.dmp);
  • logs\: o registro 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 registro grava o que o MDM faz, então um relatório pode mostrar o que levou a um problema. Para registrar mais detalhes, inicie o MDM com a variável de ambiente MDM_LOG=debug.

Para desenvolvedores

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

  • Capturando problemas. Quando o MDM trava (uma exceção do Windows, um sinal no Linux, uma exceção Mach no macOS), entra em pânico ou congela, ele pede um despejo ao monitor. Um congelamento é um quadro da janela executando 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 travado nunca escreve seu próprio despejo, que é como Firefox, Crashpad e Sentry também fazem.
  • Lendo o dump. O monitor lê o dump com o rust-minidump da Mozilla. Ele usa os símbolos Breakpad da versão quando encontrados, ou as informações de depuração nativas junto a uma compilação a partir do código-fonte. A Assinatura do relatório (por exemplo, freeze in misterdownloadmanager::winui::combo_edit) permanece a mesma em relatórios de um mesmo problema, e a janela pesquisa problemas existentes por ela.
  • Símbolos. As compilações de lançamento mantêm tabelas de linha (debug = "line-tables-only"), mas nenhum download inclui as informações de depuração. O CI as transforma em MisterDownloadManager-<version>-symbols-<platform>.zip (tools/installer/symbols.py, usando o dump_syms da Mozilla), publicadas junto aos outros arquivos da versão. A janela de relatório busca o zip para sua própria versão quando uma pilha mostra endereços brutos.
  • Um .dmp de um problema:

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

  • Testando. 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 testar no aplicativo, inicie o MDM com MDM_CRASH_TEST=1 e execute misterdownloadmanager /show crash-test:freeze (ou panic, crash, abort).

Gratuito, de código aberto, sem anúncios, sem período de teste.

Baixar Mister Download Manager