Fehlerberichterstellung und -diagnose

In diesem Thema werden die in StreamInsight zum Behandeln von Prozess- und Abfragefehlern sowie zum Generieren von Dumps für die weitere Problemdiagnose bereitgestellten Funktionen beschrieben. Unter Windows Vista und Windows Server 2008 und höheren Betriebssystemen verwendet StreamInsight die Windows-Fehlerberichterstattung für die Fehlerberichterstellung und Generierung von Dumps. Unter den Betriebssystemen Windows XP und Windows Server 2003 verwendet StreamInsight die Version von Dr. Watson (DW20.exe und DWWin.exe), die in .NET 3.5 enthalten ist, zur Fehlerberichterstellung und Generierung von Dumps.

Da StreamInsight diese Standardtools von Windows-Betriebssystemen für die Fehlerberichterstellung und Generierung von Dumps verwendet, wird die Zustimmung des Benutzers zur Fehlerberichterstellung vorausgesetzt, die auf der Ebene des Windows-Betriebssystems festgelegt wird. Wenn die Benutzerzustimmung zur Fehlerberichterstellung auf der Ebene des Betriebssystems aktiviert ist, werden Fehlerberichte und Dumps für Clientanwendung automatisch an Microsoft gesendet, und die Dumps werden vom lokalen Server entfernt. Um Dumps für Problembehandlungszwecke zu überprüfen, müssen Sie die Fehlerberichterstellung deaktivieren. Wenden Sie sich an den Administrator des Servers, auf dem die StreamInsight-Anwendung ausgeführt wird, um zu bestimmen, ob die Fehlerberichterstellung auf diesem Computer aktiviert ist. Die Einstellungen werden wie in den folgenden Abschnitten beschrieben geändert.

Generieren von Dumps

Dumps werden für die Anwendung in StreamInsight in zwei Szenarien generiert.

Prozessfehler

StreamInsight kann in einem eingebetteten Server oder einer gehosteten Serverkonfiguration bereitgestellt werden. Für globale nicht behandelte Ausnahmen in einer dieser Konfigurationen ist der Fehler mit einem Fehler bei einer CLR-Anwendung vergleichbar, und das Windows-Betriebssystem generiert einen Prozessdump. Betrachten Sie z. B. eine nicht behandelte Ausnahme, die in einem Modul ausgelöst wird, das von einer benutzerdefinierten Funktion oder einem Operator in einem separaten Thread aufgerufen wurde, oder eine nicht behandelte Ausnahme vom Adapter.

Abfragefehler

Eine Ausnahme in einer StreamInsight-Abfrage führt nicht notwendigerweise zu einem StreamInsight-Prozessfehler in der eingebetteten oder gehosteten Serverkonfiguration. Betrachten Sie z. B. eine Ausnahme von einer benutzerdefinierten Funktion oder einem Operator. Sie können die Anwendungsabfrage mit der StreamInsight-Diagnose-API instrumentieren, um programmgesteuert Debugdumps zu generieren, wie im folgenden Beispiel dargestellt. Beachten Sie jedoch, dass durch das Verursachen der Dumpgenerierung in Windows XP und Windows Server 2003 ein Prozessfehler auftritt. Dies ist bei Windows Vista und Windows Server 2008 und höher nicht der Fall. 

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);
VorsichtshinweisVorsicht

Debugdumpdateien können vertrauliche Informationen enthalten. Zum Schutz vertraulicher Informationen können Sie eine Zugriffssteuerungsliste verwenden, um den Zugriff auf die Dateien einzuschränken oder die Dateien in einen Ordner mit eingeschränktem Zugriff zu kopieren. Bevor Sie Ihre Debugdateien an Microsoft Support Services senden, empfehlen wir, vertrauliche Informationen zu entfernen.

Erstellen von Fehlerberichten

Standardmäßig werden Fehlerberichte an Microsoft gesendet, wenn die Benutzerzustimmung für die Fehlerberichterstellung aktiviert ist.

Windows Vista und Windows Server 2008 und höher

Prozessfehler

Jede Windows-Anwendung kann den StreamInsight-Server einbetten. Wenn bei der ausführbaren Datei dieser Anwendung ein Fehler auftritt, wird durch die Einstellung für die Benutzerzustimmung für die Fehlerberichterstellung bestimmt, ob der Fehler an Microsoft gesendet wird. Abhängig von der Fehlerursache können die StreamInsight-Aufrufliste und andere Informationen Teil des Fehlerdumps sein. StreamInsight verfügt über keine Instrumentation, die diesen Prozess stört.

Abfragefehler

Die Berichterstattung für Abfragefehler folgt der gleichen Zustimmungsrichtlinie, die oben für die Berichterstattung bei Prozessfehlern beschrieben wurde. Nachdem Sie jedoch programmgesteuert die Generierung von Dumps für Abfragefehler aktiviert haben, wie oben beschrieben, können Sie auswählen, dass die Dumps und Fehler im lokalen Server beibehalten werden, auf dem der Fehler aufgetreten ist.

Hierzu müssen Sie die automatisierte Fehlerberichterstellung für StreamInsight mit der folgenden Registrierungsschlüsseleinstellung deaktivieren.

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

"StreamInsightDump"=dword:00000001

Sowohl bei Prozess- als auch bei Abfragefehlerszenarien können Sie Fehler überprüfen, indem Sie Problemberichte und -lösungen in der Systemsteuerung anzeigen. Um Fehler in Windows 7 und Windows Server 2008 R2 anzuzeigen, klicken Sie in der Systemsteuerung auf Wartungscenter, auf Wartung, auf Zuverlässigkeitsverlauf anzeigen und dann auf Alle Problemberichte anzeigen. Die Fehler werden für den jeweiligen Namen der Anwendung (z. B. MyApplication_name.exe) oder für StreamInsightHost.exe gemeldet.

Windows XP und Windows 2003

Wenn Sie die Fehlerberichterstellung deaktivieren möchten, wodurch Dumps auf dem lokalen Host gespeichert werden, folgen Sie den Anweisungen in diesem Microsoft Support-Artikel. Die Fehlerberichte werden in die Warteschlange eingereiht und befinden sich im Verzeichnis %USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\PCHealth\ErrorRep oder %SYSTEMROOT%\PCHEALTH\ErrorRep\QSignoff.

Administratoren mit Zugriff auf die Fehlerberichterstellungsschnittstelle können die Fehler in der Warteschlange anzeigen und für jeden Fehler auswählen, dass er an Microsoft gesendet wird. Das Betriebssystem behält einen maximalen Wert für die Anzahl von Einträgen in der Warteschlange bei. Die Grenze ist abhängig von Systemparametern. Sobald diese Grenze überschritten wird, reiht das Betriebssystem keine weiteren Fehlerberichte in die Warteschlange ein. Daher empfiehlt es sich, dass ein Administrator diese Warteschlangen regelmäßig auf Fehler überprüft, die eine weitere Untersuchung erfordern. Sie können optional dw20.exe aufrufen, um die Warteschlange zu leeren; andernfalls werden die Berichte unbegrenzt beibehalten.

Siehe auch

Konzepte

Überwachen von StreamInsight-Server und -Abfragen