ANAVEM
Languageen
Windows Event Viewer displaying critical application error logs on a system administrator's monitoring setup
Event ID 16394ErrorApplication ErrorWindows

ID d'événement Windows 16394 – Erreur d'application : Crash critique de l'application avec violation d'accès mémoire

L'ID d'événement 16394 indique un crash critique de l'application causé par des violations d'accès à la mémoire ou des données d'application corrompues, nécessitant une enquête immédiate pour prévenir l'instabilité du système.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 16394Application Error 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 16394 représente l'un des événements d'erreur d'application les plus critiques dans la journalisation de Windows, spécifiquement conçu pour capturer les échecs d'application catastrophiques qui posent des risques potentiels à la stabilité du système. Lorsqu'une application plante avec cet événement, Windows a détecté que l'échec implique de graves problèmes de gestion de la mémoire, des violations d'accès ou un état d'application corrompu qui pourrait potentiellement affecter d'autres processus en cours d'exécution ou des composants du système.

La structure de l'événement inclut des informations de diagnostic complètes : le nom et la version de l'application défaillante, le module spécifique qui a causé le plantage, les codes d'exception qui décrivent le type d'échec, les adresses mémoire impliquées dans la violation, et les horodatages pour l'analyse judiciaire. Ces données s'avèrent inestimables pour les développeurs et les administrateurs système tentant de diagnostiquer des échecs d'application récurrents ou d'identifier des schémas suggérant des problèmes matériels.

Windows génère cet événement via le sous-système Windows Error Reporting (WER), qui surveille les plantages d'application et collecte les dumps de plantage lorsqu'il est configuré. L'événement apparaît généralement aux côtés d'événements connexes tels que l'ID d'événement 1001 (Windows Error Reporting) et peut déclencher la génération automatique de dumps de plantage si configuré via les paramètres du registre ou la stratégie de groupe. Comprendre la relation entre l'ID d'événement 16394 et ces événements compagnons aide les administrateurs à construire une image complète des problèmes de stabilité des applications.

Dans les environnements d'entreprise, des occurrences fréquentes de l'ID d'événement 16394 provenant de la même application indiquent souvent la nécessité de mises à jour d'application, de correctifs de compatibilité ou de diagnostics matériels. L'événement sert de système d'alerte précoce pour les problèmes potentiels de stabilité à l'échelle du système qui pourraient affecter les opérations commerciales.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Violations d'accès à la mémoire lorsque les applications tentent de lire ou d'écrire dans des régions de mémoire protégées
  • Fichiers d'application corrompus ou dépendances manquantes causant des échecs d'exécution
  • Problèmes de mémoire matérielle, y compris des modules RAM défaillants ou des problèmes de contrôleur de mémoire
  • Conflits de pilotes ou pilotes de périphériques incompatibles interférant avec la gestion de la mémoire des applications
  • Mémoire virtuelle insuffisante ou pression sur la mémoire causant des échecs d'allocation
  • Infections par des logiciels malveillants corrompant le code ou les structures de données des applications
  • Corruption du registre affectant la configuration des applications et les paramètres de démarrage
  • Conflits de logiciels tiers ou incompatibilités de version de DLL
  • Bugs d'application dans la gestion de la mémoire ou les routines de gestion des exceptions
  • Corruption de fichiers système affectant les composants Windows essentiels utilisés par les applications
Méthodes de résolution

Étapes de dépannage

01

Analyser les détails de l'événement et les informations de l'application

Commencez par examiner les détails complets de l'événement pour identifier l'application défaillante et les spécificités du crash.

1. Ouvrez Observateur d'événementsJournaux WindowsApplication

2. Filtrez pour l'ID d'événement 16394 en utilisant cette commande PowerShell :

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=16394} -MaxEvents 20 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap

3. Double-cliquez sur l'événement pour voir les informations détaillées, y compris :

  • Nom et chemin de l'application défaillante
  • Nom du module défaillant
  • Code d'exception (par exemple, 0xc0000005 pour violation d'accès)
  • Décalage de la faute et adresses mémoire

4. Vérifiez si plusieurs instances de la même application se plantent :

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=16394} | Group-Object {($_.Message -split '\n')[0]} | Sort-Object Count -Descending

5. Documentez le schéma de crash, la fréquence et toute corrélation avec les activités système ou les actions de l'utilisateur.

02

Vérifier l'intégrité des fichiers d'application et système

Vérifiez que l'application qui plante et les fichiers système ne sont pas corrompus.

1. Exécutez le Vérificateur de fichiers système pour réparer les fichiers système corrompus :

sfc /scannow

2. Vérifiez l'intégrité du magasin de composants Windows :

DISM /Online /Cleanup-Image /CheckHealth

3. Si des problèmes sont trouvés, réparez le magasin de composants :

DISM /Online /Cleanup-Image /RestoreHealth

4. Pour des applications spécifiques, vérifiez l'intégrité des fichiers en utilisant PowerShell :

Get-ChildItem "C:\Program Files\[ApplicationName]" -Recurse | Get-FileHash -Algorithm SHA256 | Export-Csv -Path "C:\Temp\AppHashes.csv"

5. Vérifiez les journaux d'événements de l'application pour des détails supplémentaires sur les erreurs :

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000,1001} | Where-Object {$_.Message -like "*[ApplicationName]*"}

Astuce pro : Comparez les hachages de fichiers avec des installations connues pour identifier les fichiers d'application corrompus.

03

Enquêter sur les problèmes de mémoire et de matériel

Tester la mémoire système et les composants matériels qui pourraient causer des plantages d'application.

1. Exécuter le Diagnostic de mémoire Windows pour vérifier les problèmes de RAM :

mdsched.exe

2. Vérifier les modèles d'utilisation de la mémoire pendant les plantages :

Get-Counter "\Memory\Available MBytes", "\Memory\Committed Bytes", "\Process(_Total)\Working Set" -SampleInterval 5 -MaxSamples 12

3. Surveiller les paramètres et l'utilisation de la mémoire virtuelle :

Get-WmiObject -Class Win32_PageFileUsage | Select-Object Name, AllocatedBaseSize, CurrentUsage, PeakUsage

4. Vérifier les problèmes de pilotes qui pourraient affecter la gestion de la mémoire :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001,1003} -MaxEvents 50 | Where-Object {$_.Message -like "*driver*"}

5. Examiner les journaux d'erreurs matérielles :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=6008,41,1074} -MaxEvents 20

Avertissement : Les tests de diagnostic de mémoire nécessitent un redémarrage du système et peuvent prendre plusieurs heures pour se terminer.

04

Configurer la collecte et l'analyse des vidages sur incident

Activez la collecte détaillée des crash dumps pour recueillir des informations médico-légales sur les défaillances des applications.

1. Configurez Windows Error Reporting pour collecter les crash dumps :

New-ItemProperty -Path "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value 2 -PropertyType DWord -Force

2. Définissez l'emplacement du dossier de dump :

New-ItemProperty -Path "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Value "C:\CrashDumps" -PropertyType String -Force

3. Activez la collecte de dump spécifique à l'application :

New-Item -Path "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\[ApplicationName.exe]" -Force
New-ItemProperty -Path "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\[ApplicationName.exe]" -Name "DumpType" -Value 2 -PropertyType DWord

4. Créez le répertoire de crash dump :

New-Item -Path "C:\CrashDumps" -ItemType Directory -Force
Set-Acl -Path "C:\CrashDumps" -AclObject (Get-Acl -Path "C:\Windows\Temp")

5. Surveillez les nouveaux crash dumps :

Get-ChildItem "C:\CrashDumps" -Filter "*.dmp" | Sort-Object CreationTime -Descending | Select-Object Name, CreationTime, Length

6. Utilisez les outils de débogage Windows pour analyser les dumps lorsqu'ils sont disponibles.

05

Dépannage avancé avec Process Monitor et analyse du registre

Effectuez une analyse approfondie à l'aide d'outils de diagnostic avancés pour identifier les causes profondes.

1. Téléchargez et exécutez Process Monitor pour capturer le comportement de l'application :

Filtrez pour l'application qui plante et surveillez les modèles d'accès aux fichiers/registre avant que les plantages ne se produisent.

2. Vérifiez les clés de registre spécifiques à l'application pour détecter les corruptions :

Get-ChildItem "HKLM\SOFTWARE\[ApplicationVendor]" -Recurse -ErrorAction SilentlyContinue | Test-Path

3. Surveillez les dépendances de l'application et le chargement des DLL :

Get-Process -Name "[ApplicationName]" | Select-Object -ExpandProperty Modules | Sort-Object ModuleName

4. Vérifiez les logiciels ou services en conflit :

Get-Service | Where-Object {$_.Status -eq 'Running' -and $_.ServiceType -like '*Win32*'} | Select-Object Name, DisplayName, Status

5. Créez un environnement de démarrage propre pour isoler les conflits :

msconfig.exe

6. Testez l'application en mode sans échec ou avec des programmes de démarrage minimaux.

7. Examinez les paramètres de compatibilité de l'application :

Get-ItemProperty "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" -ErrorAction SilentlyContinue

Astuce pro : Utilisez la fonction de journalisation au démarrage de Process Monitor pour capturer les interactions au niveau du système lors du démarrage de l'application.

Aperçu

L'ID d'événement 16394 se déclenche lorsque Windows détecte un crash critique d'application impliquant des violations d'accès à la mémoire ou des défauts d'application graves. Cet événement apparaît généralement dans le journal des applications lorsqu'une application tente d'accéder à des régions de mémoire protégées, rencontre des structures de données corrompues ou subit des exceptions d'exécution qui ne peuvent pas être gérées correctement. L'événement capture des informations détaillées sur le crash, y compris le module défaillant, les codes d'exception et les adresses mémoire impliquées dans l'échec.

Contrairement aux crashs d'application standard qui génèrent l'ID d'événement 1000, l'ID d'événement 16394 représente des échecs plus graves qui indiquent souvent des problèmes sous-jacents du système, des fichiers d'application corrompus ou des problèmes de mémoire liés au matériel. L'événement fournit des données médico-légales essentielles pour résoudre les problèmes de stabilité des applications et identifier les schémas qui pourraient affecter la fiabilité du système. Le service de rapport d'erreurs Windows génère généralement cet événement en parallèle avec les vidages sur incident lorsque les applications échouent de manière catastrophique.

Cet événement se produit couramment avec des applications héritées, des logiciels tiers avec une mauvaise gestion de la mémoire, ou des applications fonctionnant sous des conditions de forte pression mémoire. Les administrateurs système doivent traiter l'ID d'événement 16394 comme un problème de haute priorité nécessitant une enquête immédiate pour prévenir des échecs en cascade ou une instabilité du système.

Questions Fréquentes

Que signifie spécifiquement l'ID d'événement 16394 par rapport aux autres événements de plantage d'application ?+
L'ID d'événement 16394 représente des plantages d'applications critiques impliquant des violations d'accès à la mémoire ou des échecs d'exécution graves qui posent des risques potentiels pour la stabilité du système. Contrairement à l'ID d'événement 1000 qui enregistre les plantages d'applications standard, l'ID d'événement 16394 indique des échecs plus graves impliquant l'accès à la mémoire protégée, des structures de données corrompues ou des problèmes liés au matériel. Cet événement inclut généralement des informations médico-légales détaillées telles que des codes d'exception, des adresses mémoire et des modules défaillants, ce qui le rend essentiel pour diagnostiquer des problèmes systémiques plutôt que de simples bogues d'application.
Comment puis-je déterminer si les plantages de l'ID d'événement 16394 sont causés par des problèmes matériels ou logiciels ?+
Les plantages liés à l'ID d'événement matériel 16394 montrent généralement des schémas à travers plusieurs applications, se produisent plus fréquemment sous pression mémoire, et coïncident souvent avec des événements système comme l'ID d'événement 41 (arrêt inattendu) ou des erreurs liées à la mémoire. Les problèmes logiciels affectent généralement des applications spécifiques de manière cohérente, montrent une corrélation avec des mises à jour ou installations récentes, et peuvent inclure des noms spécifiques de DLL ou de modules dans les détails du plantage. Exécutez le Diagnostic de mémoire Windows et vérifiez les événements liés aux pilotes dans le journal Système. Les problèmes matériels produisent souvent le code d'exception 0xc0000005 (violation d'accès) avec des adresses mémoire aléatoires, tandis que les problèmes logiciels montrent des décalages de faute cohérents.
Quels sont les commandes PowerShell qui aident à identifier les motifs dans les occurrences de l'ID d'événement 16394 ?+
Utilisez Get-WinEvent -FilterHashtable @{LogName='Application'; Id=16394} | Group-Object {($_.Message -split 'Application Name:')[1].Split(',')[0].Trim()} pour regrouper les plantages par application. Pour une analyse basée sur le temps, utilisez Get-WinEvent -FilterHashtable @{LogName='Application'; Id=16394} | Group-Object {$_.TimeCreated.Date} | Sort-Object Name pour identifier la fréquence des plantages par date. Pour trouver des motifs liés à la mémoire, utilisez Get-WinEvent -FilterHashtable @{LogName='Application'; Id=16394} | Where-Object {$_.Message -like '*0xc0000005*'} pour filtrer les violations d'accès. Ces commandes aident à identifier si les plantages sont spécifiques à une application, corrélés dans le temps ou liés à la mémoire.
Dois-je m'inquiéter de la sécurité du système si l'ID d'événement 16394 apparaît fréquemment ?+
Les occurrences fréquentes de l'ID d'événement 16394 peuvent indiquer des préoccupations de sécurité, en particulier si elles impliquent des processus système ou se produisent en même temps que d'autres activités suspectes. Les violations d'accès à la mémoire peuvent être exploitées par des logiciels malveillants pour exécuter du code arbitraire ou faire planter des logiciels de sécurité. Vérifiez si les plantages coïncident avec l'activité réseau, impliquent des processus liés à la sécurité ou montrent des schémas inhabituels dans le timing ou les applications affectées. Effectuez des analyses antimalware complètes, vérifiez les installations de logiciels non autorisées et examinez les ID d'événement 4688 (création de processus) et 4689 (fin de processus) pour détecter une activité de processus suspecte. Cependant, la plupart des instances de l'ID d'événement 16394 résultent de bogues logiciels légitimes ou de problèmes matériels plutôt que de menaces de sécurité.
Comment configurer Windows pour collecter automatiquement les crash dumps pour l'analyse de l'ID d'événement 16394 ?+
Configurez le rapport d'erreurs Windows via les paramètres du registre pour collecter automatiquement les crash dumps. Réglez HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\DumpType sur 2 (dump complet) ou 1 (mini dump), et DumpFolder pour spécifier l'emplacement de stockage comme C:\CrashDumps. Pour une collecte spécifique à une application, créez des sous-clés sous LocalDumps avec le nom de l'exécutable. Utilisez les commandes New-ItemProperty dans PowerShell pour définir ces valeurs de manière programmatique. Assurez-vous d'avoir suffisamment d'espace disque car les dumps complets peuvent atteindre plusieurs gigaoctets. Configurez DumpCount pour limiter le nombre de dumps stockés, et définissez CustomDumpFlags pour un contenu de dump spécifique. La stratégie de groupe peut également gérer ces paramètres sur plusieurs systèmes dans les environnements d'entreprise.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Événements Windows associés

Windows Event Viewer displaying Event ID 1026 application crash logs on a system administrator's monitoring setup
Event 1026
Application Error
Windows EventError

ID d'événement Windows 1026 – Erreur d'application : Détection de plantage ou de blocage d'application

L'ID d'événement 1026 indique qu'une application s'est écrasée, suspendue ou a rencontré une erreur critique. Cet événement aide les administrateurs à suivre la stabilité des applications et à identifier les composants logiciels problématiques.

18 mars12 min
Windows Event Viewer displaying application crash logs and system diagnostics on multiple monitors
Event 1004
Application Error
Windows EventError

ID d'événement Windows 1004 – Erreur d'application : Détection de plantage ou de blocage de l'application

L'ID d'événement 1004 indique qu'une application s'est écrasée, suspendue ou a rencontré une erreur critique. Cet événement aide les administrateurs à suivre la stabilité des applications et à identifier les logiciels problématiques sur les systèmes Windows.

18 mars9 min
Windows Event Viewer displaying Event ID 1003 application crash details on a system administrator's monitoring setup
Event 1003
Application Error
Windows EventError

ID d'événement Windows 1003 – Erreur d'application : Détection de plantage ou de blocage d'application

L'ID d'événement 1003 indique un crash ou un blocage d'application détecté par le Rapport d'erreurs Windows. Cet événement critique se journalise lorsque des applications se terminent de manière inattendue ou deviennent non réactives, nécessitant une enquête immédiate.

18 mars12 min
Windows Event Viewer displaying application hang events alongside system performance monitoring tools
Event 27
Application Error
Windows EventWarning

ID d'événement Windows 27 – Erreur d'application : Détection de suspension d'application

L'ID d'événement 27 indique que Windows a détecté un blocage d'application ou un état non réactif. Cet événement se déclenche lorsque les applications cessent de répondre aux entrées utilisateur ou aux messages système pendant de longues périodes.

18 mars12 min

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...