Signalement des erreurs et diagnostics

Cette rubrique décrit les fonctions de gestion des processus et des échecs de requête et les fonctions de vidage des diagnostics dans StreamInsight. Sous Windows Vista et Windows Server 2008 et sous les systèmes d'exploitation ultérieurs, StreamInsight utilise le Rapport d'erreurs Windows pour signaler les erreurs et générer le vidage. Sous Windows XP et Windows Server 2003, StreamInsight utilise le programme Dr. Watson (DW20.exe et DWWin.exe) qui est inclus dans .NET 3.5 pour le signalement des erreurs et la génération du vidage.

StreamInsight utilise ces outils standard du système d'exploitation Windows pour signaler des erreurs et générer le vidage. Par conséquent, il ne peut pas créer de rapport d'erreurs défini au niveau du système d'exploitation de Windows sans l'autorisation de l'utilisateur. Lorsque ce dernier a autorisé le signalement des erreurs au niveau du système d'exploitation, les rapports d'erreurs et les vidages des applications clientes sont automatiquement envoyés à Microsoft et les vidages sont supprimés du serveur local. Pour analyser les vidages à des fins de résolution des problèmes, vous devez désactiver le signalement des erreurs. Consultez l'administrateur du serveur qui exécute l'application StreamInsight pour déterminer si le signalement des erreurs est activé sur cet ordinateur. Pour modifier les paramètres, suivez les indications fournies dans les sections suivantes.

Génération de vidages

Les vidages sont générés pour l'application StreamInsight selon deux scénarios.

Échecs de processus

StreamInsight peut être déployé dans un serveur incorporé ou dans une configuration de serveur hébergé. Pour les exceptions non gérées globales dans l'une ou l'autre de ces configurations, l'échec s'apparente à un échec d'application CLR et le système d'exploitation Windows génère un vidage des processus. C'est le cas, par exemple, d'une exception non gérée levée dans un module appelé sur un thread séparé par une fonction définie par l'utilisateur ou par un opérateur, ou d'une exception non gérée de l'adaptateur.

Échecs de requêtes

Une exception dans une requête StreamInsight ne provoque pas nécessairement l'échec d'un processus StreamInsight dans une configuration de serveur incorporé ou a hébergé. C'est le cas, par exemple, d'une exception d'une fonction définie par l'utilisateur ou d'un opérateur. Vous pouvez exploiter votre requête d'application en utilisant l'API de diagnostic StreamInsight pour générer des vidages de débogage par programme, comme indiqué dans l'exemple suivant. Toutefois, notez que dans Windows XP et Windows Server 2003, la génération des vidages provoque l'échec du processus. Ce n'est pas le cas avec Windows Vista et Windows Server 2008, et les éditions supérieures. 

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

Les fichiers de vidage de débogage peuvent contenir des informations sensibles. Pour protéger les informations sensibles, vous pouvez utiliser une liste de contrôle d'accès (ACL) afin de restreindre l'accès aux fichiers ou copier les fichiers dans un dossier avec accès limité. Nous vous recommandons de supprimer toutes les informations sensibles ou confidentielles avant d'envoyer vos fichiers de débogage aux services de support technique de Microsoft.

Signalement des erreurs

Par défaut, les rapports d'erreurs sont envoyés à Microsoft lorsque le signalement des erreurs est autorisé par l'utilisateur.

Windows Vista et Windows Server 2008 et éditions supérieures

Échec de processus

Toutes les applications Windows peuvent incorporer le serveur StreamInsight. Lorsque l'exécutable d'une application échoue, le paramètre qui autorise le signalement des erreurs détermine si celles-ci sont transmises à Microsoft. Selon la cause de l'erreur, la pile des appels StreamInsight et d'autres informations peuvent faire partie du vidage. StreamInsight ne possède aucune instrumentation qui intervient avec ce processus.

Échec de requête

Le signalement des échecs de requête suit la même stratégie de consentement décrite précédemment pour le signalement des échecs de processus. Toutefois, après avoir autorisé par programme la génération des vidages des échecs de requête comme décrit précédemment, vous pouvez choisir de conserver les vidages et les erreurs dans le serveur local où l'erreur s'est produite.

Pour cela, vous devez désactiver le signalement automatique des erreurs pour StreamInsight à l'aide du paramètre de clé de Registre suivant.

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

"StreamInsightDump"=dword:00000001

Pour les deux scénarios d'échec de processus et de requête, vous pouvez analyser les erreurs en consultant les Rapports et solutions aux problèmes dans le Panneau de configuration. Pour consulter les erreurs dans Windows 7 et Windows Server 2008 R2, dans le Panneau de configuration, cliquez sur Centre de maintenance, puis sur Maintenance, Afficher l'historique de fiabilité, et enfin sur Afficher tous les rapports de problèmes. Les erreurs sont signalées sous le nom de votre application (par exemple, MyApplication_name.exe) ou sous StreamInsightHost.exe.

Windows XP et Windows 2003

Pour désactiver le signalement des erreurs et enregistrer les vidages dans l'hôte local, suivez les instructions de cet article Microsoft. Les rapports d'erreurs sont mis en file d'attente et enregistrés dans le répertoire %USERPROFILE%\Local Settings\Application Data\PCHealth\ErrorRep or %SYSTEMROOT%\PCHEALTH\ErrorRep\QSignoff.

Les administrateurs disposant d'un accès à l'interface de signalement des erreurs peuvent consulter les erreurs dans la file d'attente et choisir de les envoyer à Microsoft au cas par cas. Le système d'exploitation conserve le nombre maximal autorisé d'entrées dans la file d'attente. Cette limite est définie par les paramètres système. Une fois cette limite dépassée, le système d'exploitation ne met plus en file d'attente les nouveaux rapports d'échec. Par conséquent, nous recommandons qu'un administrateur consulte régulièrement ces files d'attente pour repérer les erreurs qui requièrent une analyse supplémentaire. Vous pouvez éventuellement lancer dw20.exe pour vider la file d'attente ; si vous ne le faites pas, les rapports sont conservés indéfiniment.

Voir aussi

Concepts

Contrôle du serveur et des requêtes StreamInsight