Share via


Relatório de erro e diagnóstico

Este tópico descreve os recursos fornecidos no StreamInsight para tratamento de falhas de processo e de consulta e gerar despejos para obter um diagnóstico mais detalhado dos problemas. No Windows Vista, no Windows Server 2008 e em sistemas operacionais mais avançados, o StreamInsight usa o Relatório de Erros do Windows para gerar relatórios de erros e despejos. Nos sistemas operacionais Windows XP e Windows Server 2003, o StreamInsight usa a versão de Dr. Watson (DW20.exe e DWWin.exe) que está incluída com o .NET 3.5 para a geração de relatórios de erros e despejos.

Como o StreamInsight usa essas ferramentas padrão do sistema operacional Windows para geração de relatórios e geração de dumps, ele precisa do consentimento do usuário para geração de relatórios de erros definido no nível do sistema operacional Windows. Quando o consentimento do usuário para geração de relatórios é habilitado no nível do sistema operacional, os relatórios de erros e dumps para aplicativos clientes são enviados automaticamente para Microsoft, e os dumps são removidos do servidor local. Para investigar despejos para fins de solução de problemas, desabilite o relatório de erros. Entre em contato com o administrador do servidor que está executando o aplicativo StreamInsight para determinar se o relatório de erros está habilitado nesse computador. Altere as configurações conforme descrito nas seções a seguir.

Gerando despejos

Despejos são gerados para o aplicativo StreamInsight em dois cenários.

Falhas no processo

O StreamInsight pode ser implantado em um servidor inserido ou em uma configuração de servidor hospedado. Para exceções globais sem tratamento em qualquer uma dessas configurações, a falha é semelhante a uma falha em qualquer aplicativo de CLR e o sistema operacional Windows gerará um despejo de processo. Por exemplo, considere uma exceção sem tratamento gerada em um módulo invocado em um thread separado por uma função ou operador definido pelo usuário, ou uma exceção sem tratamento do adaptador.

Falhas na consulta

Uma exceção em uma consulta do StreamInsight não resulta necessariamente em uma falha do processo do StreamInsight na configuração de servidor inserida ou hospedada. Por exemplo, considere uma exceção de uma função ou operador definido pelo usuário. Você pode instrumentar sua consulta de aplicativo usando a API de diagnóstico do StreamInsight para gerar despejos de depuração programaticamente, conforme mostrado no exemplo a seguir. Porém, observe que, no Windows XP e no Windows Server 2003, a geração de despejos causará falhas no processo. O mesmo não ocorre no Windows Vista, no Windows Server 2008 e em versões mais avançadas 

Server server = Server.Create(...);  // or Server.Connect(...) if this is a client application connecting to a server.
...
// Generate error reports when a query fails.
DiagnosticSettings settings = new DiagnosticSettings(DiagnosticAspect.GenerateErrorReports, DiagnosticLevel.Always);
server.SetDiagnosticSettings(new Uri("cep:/Server"), settings);
Observação sobre cuidadosCuidado

Os arquivos de despejo de depuração podem conter informações confidenciais. Para ajudar a proteger essas informações, você pode usar uma ACL (lista de controle de acesso) para restringir o acesso aos arquivos, ou copiar os arquivos em uma pasta que tenha acesso restrito. Antes de enviar os arquivos de depuração para os serviços de suporte do Microsoft, recomendamos que você remova todas as informações confidenciais.

Relatório de erros

Por padrão, os relatórios de erros são enviados para o Microsoft quando o consentimento do usuário para geração de relatórios de erros está habilitado.

Windows Vista, Windows Server 2008 e versões posteriores

Falha no processo

Qualquer aplicativo Windows pode inserir o servidor StreamInsight. Quando o executável desse aplicativo falha, a configuração do consentimento do usuário para a geração de relatórios de erros determina se o erro é enviado ao Microsoft. Dependendo da causa do erro, a pilha de chamadas do StreamInsight e outras informações podem fazer parte do despejo de erro. O StreamInsight não adota uma instrumentação que possa interferir nesse processo.

Falha na consulta

A geração de relatórios sobre falhas na consulta segue a mesma política de consentimento descrita anteriormente para a geração de relatórios sobre falhas no processo. Entretanto, depois que você habilitar a geração de despejos programaticamente para falhas de consulta, conforme descrito antes, poderá optar por reter os despejos e os erros no servidor local em que ocorreu o erro.

Para fazer isso, desative o relatório automatizado de erros do StreamInsight com a seguinte configuração de chave de Registro.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Consent]

"StreamInsightDump"=dword:00000001

Nos cenários de falhas de processo e de consulta, você pode inspecionar erros com a exibição de Relatórios e Soluções de Problemas no Painel de Controle. Para exibir erros no Windows 7 e no Windows Server 2008 R2, no Painel de Controle, clique em Central de Ações, em Manutenção, em Exibir histórico de confiabilidade e em Exibir todos os relatórios de problemas. Os erros são reportados com base no nome do seu aplicativo (por exemplo, MyApplication_name.exe) ou no StreamInsightHost.exe.

Windows XP e Windows 2003

Para desativar o relatório de erros, levando à salva de despejos no host local, siga as instruções deste artigo de apoio da Microsoft. Os relatórios de erros são enfileirados e se encontram no diretório %USERPROFILE%\Local Settings\Application Data\PCHealth\ErrorRep ou %SYSTEMROOT%\PCHEALTH\ErrorRep\QSignoff.

Os administradores com acesso à interface de relatório de erros podem exibir os erros na fila e optar por enviar os erros ao Microsoft caso a caso. O sistema operacional retém um limite máximo do número de entradas na fila. O limite depende de parâmetros de sistema. Quando esse limite é excedido, o sistema operacional não inclui novos relatórios de falhas na fila. Portanto, recomendamos que um administrador analise regularmente essas filas para detectar eventuais erros que exijam maior investigação. Outra opção é chamar o dw20.exe para liberar a fila; caso contrário, os relatórios permanecerão enfileirados indefinidamente.

Consulte também

Conceitos

Monitorando o servidor StreamInsight e as consultas