Partager via


Guide de résolution des problèmes de comportement d’incident de l’application ou du service

Cet article fournit des conseils sur la résolution des problèmes de comportement d’incident d’application ou de service.

S’applique à : toutes les versions prises en charge de Windows Server et du client Windows

Lorsque vous voyez l’ID d’événement 1001 et l’ID d’événement 1000 à plusieurs reprises dans le journal des applications, il indique un comportement de blocage de l’application. Elle se produit avec des processus internes ou tiers et pointe vers un module d’erreur possible.

Cet article décrit en détail le processus de vérification de l’événement, la compréhension des informations dans l’événement et la gestion de l’événement en fonction de sa première application ou tierce. Les outils de débogage pour Windows sont utilisés dans ce processus.

Avant de commencer

Considérations :

  • Vérifiez que vous exécutez les dernières mises à jour pour la version du système d’exploitation installée.
  • Vérifiez que l’application affectée est à jour.
  • Si le logiciel antivirus est installé, vérifiez qu’il s’exécute sur la dernière version et que les exclusions nécessaires sont en place.

Les informations de l’ID d’événement 1001 level indiquent si le rapport d’erreurs Windows (WER) est activé dans le système. Toutefois, vous devez modifier ce service pour collecter les level informations requises pour l’examen. Le système ne consigne pas ces informations par défaut pour éviter une légère surcharge des performances.

L’ID d’événement 1000 avec le Error niveau correspond à l’événement d’incident d’application réel. Il affiche les informations suivantes comme exemple :

Log Name:      Application
Source:        Application Error
Date:          <Date Time>
Event ID:      1000
Task Category: Application Crashing Events
Level:         Error
Keywords:      
User:          SYSTEM
Computer:      demo.contoso.com
Description:
Faulting application name: netsh.exe, version: 10.0.22621.1, time stamp: 0x13af0815
Faulting module name: netsh.exe, version: 10.0.22621.1, time stamp: 0x13af0815
Exception code: 0xc0000005
Fault offset: 0x0000000000005399
Faulting process id: 0x0xFEE4
Faulting application start time: 0x0x1DAB66BB5BE07D4
Faulting application path: C:\WINDOWS\system32\netsh.exe
Faulting module path: C:\WINDOWS\system32\netsh.exe
Report Id: <Report ID>
Faulting package full name: 
Faulting package-relative application ID:

Il présente souvent un module Microsoft comme module d’erreur, par exemple, ntdll.dll, kernel32.dll et kernelbase.dll. Ces modules sont fortement utilisés pendant l’exécution et la transition entre le mode utilisateur et le mode noyau. Dans le processus, ils sont interceptés en tant que victimes d’autres types de corruption précédemment effectuées par des modules malveillants.

Exceptions courantes :

  • 0xc0000022

    STATUS_ACCESS_DENIED

  • 0xc0000005

    STATUS_ACCESS_VIOLATION

  • 0xc0000374

    STATUS_HEAP_CORRUPTION

Lorsqu’une exception se produit, vous pouvez activer une journalisation détaillée supplémentaire pour le processus et collecter un vidage complet de processus à l’aide du rapport d’erreurs Windows (WER) et de GFlags (gflags.exe).

Installez les outils de débogage pour Windows pour obtenir gflags.exe, car il est inclus dans les outils. Toutefois, vous devez uniquement copier le fichier sans installer les outils sur l’ordinateur qui ont besoin de résoudre les problèmes.

Collecter des données

Pour l’exemple précédent d’un incident netsh.exe , configurez la machine pour collecter des vidages pour plus d’informations sur ce qui a provoqué l’incident. Remplacez netsh.exe par le fichier exécutable identifié dans l’ID d’événement 1000 sur votre appareil.

  1. Configurez WER pour collecter des vidages de processus complets de l’exception en exécutant les commandes suivantes à partir d’une invite de commandes avec élévation de privilèges :

    reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe"
    
    reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe"/v DumpFolder /t REG_EXPAND_SZ /d "C:\WER" /f
    
    md C:\WER
    
    reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpCount /t REG_DWORD /d 10 /f
    
    reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpType /t REG_DWORD /d 2 /f
    
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe"
    
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpFolder /t REG_EXPAND_SZ /d "C:\WER" /f
    
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpCount /t REG_DWORD /d 10 /f
    
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpType /t REG_DWORD /d 2 /f
    

    Ces commandes permettent jusqu’à 10 vidages de processus complets du processus de netsh.exe d’être collectés et stockés dans le dossier C :\WER .

    Note

    L’emplacement du Registre Windows sur Windows 64 (WOW64) est ajouté, ce qui permet aux applications 32 bits de s’exécuter sur des systèmes 64 bits.

  2. Configurez GFlags pour surveiller les allocations de tas pour suivre l’altération.

    Accédez au répertoire où se trouve l’outil et exécutez les commandes suivantes à partir d’une invite de commandes avec élévation de privilèges.

    Pour activer l’indicateur Activer le tas de pages (hpa) :

    Gflags.exe /i netsh.exe +hpa
    

    Pour désactiver l’indicateur Activer le tas de pages :

    Gflags.exe /i netsh.exe -hpa
    

    Redémarrez le processus pour que le paramètre prenne effet.

  3. Surveillez le dossier C :\WER et recherchez les vidages créés.

Analyser des données

Une fois que vous avez les vidages de processus, vous pouvez :

  • Partagez les vidages pertinents avec le tiers pour examen si le processus est un processus tiers.
  • Contactez Support Microsoft pour analyser les données si le processus est un processus de première partie.
  • Utilisez le débogueur (windbg.exe) installé à l’aide des outils de débogage pour Windows et essayez de déterminer le module d’erreur à l’aide de l’extension !analyze.

Après avoir collecté les données et terminé l’investigation, supprimez la clé de Registre (celle portant le nom du processus) et désactivez l’indicateur Activer le tas de pages pour GFlags.