Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A partir do Windows Vista, o Windows fornece, por padrão, relatórios de erros de falha, não resposta e falhas do kernel, sem a necessidade de alterar o seu aplicativo. O relatório incluirá informações de minidump e despejo de memória, caso sejam necessárias. Em vez disso, os aplicativos usam a API WER para enviar relatórios de problemas específicos do aplicativo para a Microsoft.
Como o Windows relata automaticamente exceções sem tratamento, o aplicativo não deve lidar com exceções fatais. Se o processo de falha ou não responder for interativo, o WER exibirá uma interface do usuário informando o usuário sobre o problema. Um aplicativo será considerado sem resposta se ele não responder a mensagens do Windows por cinco segundos enquanto o usuário está tentando interagir com o aplicativo.
Fluxo de relatório de erros do Windows para falhas, não resposta e falhas de kernel
O exemplo a seguir mostra as etapas que ocorrem para uma falha de aplicativo, não resposta ou falha de kernel.
- Ocorre o evento de problema.
- O sistema operacional invoca WER.
- O WER coleta os dados, cria um relatório e solicita consentimento ao usuário (se necessário).
- O WER enviará o relatório para a Microsoft (Watson Server) se o usuário consentiu.
- Se o servidor Watson solicitar dados adicionais, o WER coletará os dados e solicitará consentimento ao usuário (se necessário).
- Se o aplicativo tiver se registrado para recuperação e reinicialização, o WER executará as funções de retorno de chamada registradas enquanto os dados forem compactados e enviados para a Microsoft (se o usuário consentir).
- Se uma resposta ao problema estiver disponível na Microsoft, o usuário será notificado.
Os aplicativos podem usar as funções a seguir para personalizar o conteúdo do relatório enviado à Microsoft. As funções de registro dizem ao WER para incluir os arquivos e blocos de memória específicos no relatório de erros que ele cria.
- WerRegisterFile
- WerRegisterMemoryBlock
- WerSetFlags
- WerUnregisterFile
- WerUnregisterMemoryBlock
- WerGetFlags
Fluxo de Relatório de Erros do Windows para relatórios de eventos genéricos
As etapas a seguir mostram como os aplicativos podem obter um relatório de erro para uma condição de erro não fatal.
- O evento de problema não fatal ocorre.
- O aplicativo reconhece o evento e usa a seguinte sequência de chamadas de função para gerar o relatório.
- Chame a função WerReportCreate para criar o relatório.
- Chame a função WerReportSetParameter para definir os parâmetros do relatório.
- Chame a função WerReportAddFile para adicionar arquivos ao relatório.
- Chame a função WerReportAddDump para adicionar um minidump ao relatório (se necessário).
- Chame a função WerReportSubmit para enviar o relatório.
- Chame o WerReportCloseHandle para liberar recursos.
- Dependendo das opções específicas usadas ao chamar as funções na etapa 2, o WER concluirá o relatório de erros. O WER garantirá que o relatório seja feito de acordo com as políticas definidas pelo usuário. Por exemplo, o WER enviará o relatório para a Microsoft, enfileirará o relatório e mostrará as interfaces de usuário apropriadas para o usuário.
Excluindo um aplicativo do Relatório de Erros do Windows
Para excluir seu aplicativo do relatório de erros do Windows, use a função WerAddExcludedApplication . Para restaurar o relatório de erros para seu aplicativo, use a função WerRemoveExcludedApplication .
Recuperação automática de dados e reinicialização de um aplicativo com falha
Um aplicativo pode usar a Recuperação e a Reinicialização do Aplicativo para salvar dados e informações de estado antes que o aplicativo seja encerrado devido a uma exceção sem tratamento ou quando o aplicativo parar de responder. O aplicativo também será reiniciado, se solicitado. Para obter detalhes, consulte Recuperação e Reinicialização do Aplicativo.
API herdado
Um aplicativo pode relatar uma falha chamando a função ReportFault . No entanto, você não deve usar a função ReportFault , a menos que tenha um requisito muito específico de que o comportamento de relatório de erros padrão do sistema operacional não possa atender.
Se o relatório de erros estiver habilitado, o sistema exibirá uma caixa de diálogo para o usuário indicando que o aplicativo encontrou um problema e será fechado. Se houver um depurador configurado na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug , o usuário recebe a opção de iniciar o depurador. O usuário também recebe a opção de enviar um relatório para a Microsoft. Se o usuário enviar o relatório, o sistema exibirá outra caixa de diálogo agradecendo ao usuário pelo relatório e fornecendo um link para mais informações.
O sistema de relatórios de erros dá suporte aos seguintes modos de operação.
| Modo de operação | Descrição |
|---|---|
| Relatórios de memória compartilhada | Se o contexto de segurança do aplicativo for o mesmo que o contexto de segurança do usuário conectado, o sistema de relatórios de erros usará um bloco de memória compartilhada para comunicação. Esse modo não pode ser utilizado juntamente com o modo de relatório de manifesto. |
| Relatório de manifesto | Se o contexto de segurança do aplicativo não for o mesmo que o contexto de segurança do usuário conectado, o sistema de relatórios de erros usará um arquivo para comunicação. Esse modo também é usado para relatar aplicativos sem resposta e falhas de kernel. Esse modo não pode ser usado com o modo de relatório de memória compartilhada. |
| Relatórios na Internet | O sistema de relatórios de erros envia todos os dados para a Microsoft por meio da Internet. Esse é o modo de operação padrão. Ele não pode ser usado com o modo de relatório corporativo. Esse modo é usado quando não há nenhum caminho de upload corporativo especificado pelo administrador. |
| Relatórios corporativos | O sistema de relatórios de erros envia todos os dados para um compartilhamento de arquivos em vez de carregá-los diretamente para a Microsoft. Isso permite que os gerentes de TI corporativos examinem os dados antes de serem enviados à Microsoft. Esse modo é usado quando há um caminho de upload corporativo especificado pelo administrador. Ele não pode ser usado com o modo de relatório pela Internet. |
| Relatórios sem periféricos | O sistema de relatório de erros não exibirá nenhuma caixa de diálogo para o usuário. Isso permite que os gerentes de TI corporativos coletem relatórios de erros de seus funcionários o tempo todo. Esse modo é usado quando o relatório é habilitado pelo administrador, mas a notificação é desabilitada. Ele só pode ser usado com o modo de relatório corporativo. |
Para excluir seu aplicativo do relatório de erros, use a função AddERExcludedApplication .