ANAVEM
Languageen
Windows Event Viewer and Task Manager displaying application hang monitoring on a system administrator's workstation
Event ID 23WarningApplication ErrorWindows

ID d'événement Windows 23 – Erreur d'application : Détection de blocage d'application

L'ID d'événement 23 indique que Windows a détecté une condition de blocage d'application où un programme devient non réactif et ne parvient pas à traiter les messages dans le délai imparti.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 20269 min de lecture 0
Event ID 23Application Error 5 méthodes 9 min
Référence événement

Signification de cet événement

L'ID d'événement Windows 23 représente un composant critique de l'infrastructure de surveillance de la santé des applications du système d'exploitation. Lorsqu'une application entre dans un état bloqué, cela signifie que le thread principal du programme est bloqué et ne peut pas traiter les messages Windows, les entrées utilisateur ou les demandes système dans le délai prévu.

Le mécanisme de détection de blocage fonctionne en surveillant les files d'attente de messages et la réactivité des threads. Lorsque Windows envoie un message à une fenêtre d'application et ne reçoit pas de réponse dans le délai imparti, il marque l'application comme bloquée et génère l'ID d'événement 23. Ce processus implique que le Windows Message Manager et le Desktop Window Manager travaillent ensemble pour suivre la réactivité des applications.

L'événement fournit des données judiciaires qui aident les administrateurs à comprendre non seulement quelle application est bloquée, mais aussi les circonstances entourant le blocage. Cela inclut des informations de synchronisation, des détails sur le processus et parfois des données de trace de pile qui peuvent être corrélées avec des vidages sur incident ou des compteurs de performance. Dans Windows 11 et Server 2025, Microsoft a amélioré les algorithmes de détection de blocage pour réduire les faux positifs tout en maintenant une sensibilité aux problèmes réels des applications.

Comprendre cet événement est crucial pour maintenir la stabilité du système, en particulier dans les environnements de serveur où les applications bloquées peuvent affecter la disponibilité des services et l'expérience utilisateur. L'événement sert de système d'alerte précoce, permettant une intervention proactive avant qu'une défaillance complète de l'application ne se produise.

S'applique à

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

Causes possibles

  • Conditions d'interblocage où plusieurs threads attendent que les autres libèrent des ressources
  • Boucles infinies dans le code de l'application qui empêchent le traitement des messages
  • Épuisement des ressources, y compris les fuites de mémoire ou l'épuisement des poignées
  • Opérations d'E/S bloquantes qui immobilisent le thread principal de l'application
  • Défaillances de composants tiers ou problèmes de compatibilité des pilotes
  • Timeouts réseau lorsque les applications attendent indéfiniment des ressources distantes
  • Problèmes de connexion à la base de données causant le blocage des applications lors de l'exécution de requêtes
  • Interférence des logiciels antivirus avec l'accès aux fichiers de l'application ou les opérations en mémoire
  • Contention des ressources système pendant les périodes d'utilisation élevée du CPU ou de la mémoire
  • Échecs d'initialisation d'objets COM ou timeouts de communication inter-processus
Méthodes de résolution

Étapes de dépannage

01

Analyser les détails de l'événement dans l'Observateur d'événements

Commencez par examiner les détails spécifiques de l'ID d'événement 23 pour identifier l'application problématique et recueillir des informations de diagnostic initiales.

  1. Ouvrez Observateur d'événements en appuyant sur Win + R, en tapant eventvwr.msc, et en appuyant sur Entrée
  2. Accédez à Journaux WindowsApplication
  3. Filtrez pour l'ID d'événement 23 en cliquant avec le bouton droit sur le journal Application et en sélectionnant Filtrer le journal actuel
  4. Entrez 23 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur les entrées récentes de l'ID d'événement 23 pour voir les informations détaillées
  6. Enregistrez le nom de l'application, l'ID de processus, et la durée de blocage à partir de la description de l'événement
  7. Notez l'horodatage pour le corréler avec d'autres événements système ou rapports d'utilisateurs
Astuce pro : Recherchez des motifs dans le timing de ces événements - des blocages récurrents à des moments spécifiques peuvent indiquer des tâches planifiées ou des processus par lots causant une contention de ressources.
02

Utiliser PowerShell pour interroger et analyser les événements de blocage

PowerShell offre des capacités puissantes de filtrage et d'analyse pour les occurrences de l'ID d'événement 23 sur plusieurs périodes.

  1. Ouvrir PowerShell en tant qu'administrateur
  2. Interroger les occurrences récentes de l'ID d'événement 23 avec des informations détaillées :
    Get-WinEvent -FilterHashtable @{LogName='Application'; Id=23} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -Wrap
  3. Analyser les modèles en regroupant les événements par application :
    Get-WinEvent -FilterHashtable @{LogName='Application'; Id=23} -MaxEvents 100 | ForEach-Object { if ($_.Message -match 'Program: (.+?)\s') { $matches[1] } } | Group-Object | Sort-Object Count -Descending
  4. Exporter les données d'événement détaillées pour une analyse plus approfondie :
    Get-WinEvent -FilterHashtable @{LogName='Application'; Id=23; StartTime=(Get-Date).AddDays(-7)} | Export-Csv -Path "C:\Temp\HangEvents.csv" -NoTypeInformation
  5. Vérifier la corrélation avec les performances du système :
    Get-Counter "\Process(*)\% Processor Time" -SampleInterval 5 -MaxSamples 12
Avertissement : Un grand nombre d'occurrences de l'ID d'événement 23 peut indiquer des problèmes systémiques nécessitant une attention immédiate pour éviter l'instabilité du système.
03

Surveiller les performances de l'application et l'utilisation des ressources

Utilisez les outils intégrés de Windows pour surveiller la consommation de ressources de l'application problématique et identifier la cause des blocages.

  1. Ouvrez le Gestionnaire des tâches (Ctrl + Maj + Échap) et accédez à l'onglet Détails
  2. Localisez l'application mentionnée dans l'ID d'événement 23 et surveillez son utilisation de CPU, de mémoire et le nombre de poignées
  3. Lancez le Moniteur de ressources en cliquant sur Ouvrir le Moniteur de ressources dans le Gestionnaire des tâches
  4. Dans le Moniteur de ressources, passez à l'onglet CPU et surveillez l'activité des threads de l'application
  5. Vérifiez l'onglet Mémoire pour détecter les fuites de mémoire ou une utilisation excessive des octets privés
  6. Utilisez le Moniteur de performance pour créer un ensemble de collecteurs de données personnalisé :
    logman create counter "AppHangMonitor" -f csv -o "C:\Temp\AppPerf.csv" -c "\Process(YourApp)\*" -si 10
  7. Démarrez la collecte de données :
    logman start "AppHangMonitor"
  8. Permettez la surveillance pendant l'utilisation typique de l'application, puis arrêtez la collecte :
    logman stop "AppHangMonitor"
Astuce pro : Activez le Vérificateur d'applications pour les applications problématiques afin de détecter la corruption de tas et les fuites de poignées qui causent souvent des blocages.
04

Configurer la détection avancée des blocages et le débogage

Implémentez des techniques de débogage avancées pour capturer des informations détaillées sur les blocages d'application pour l'analyse des causes profondes.

  1. Configurez Windows Error Reporting pour capturer les dumps de blocage en modifiant le registre :
    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. Créez le répertoire de dump :
    New-Item -Path "C:\CrashDumps" -ItemType Directory -Force
  4. Activez le rapport de blocage pour des applications spécifiques :
    New-Item -Path "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\YourApp.exe" -Force
  5. Installez le SDK Windows et utilisez Application Verifier :
    appverif.exe -enable Heaps Handles Locks -for YourApp.exe
  6. Configurez ProcDump pour capturer automatiquement les blocages :
    procdump.exe -h YourApp.exe C:\CrashDumps\
  7. Surveillez la sensibilité de détection des blocages dans le registre :HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
Avertissement : Les fichiers de dump peuvent être volumineux et contenir des informations sensibles. Assurez-vous d'avoir suffisamment d'espace disque et que des mesures de sécurité appropriées sont en place.
05

Mettre en œuvre des mesures préventives et l'optimisation du système

Déployer des stratégies complètes pour prévenir les blocages d'applications et améliorer la stabilité globale du système.

  1. Mettre à jour toutes les applications vers leurs dernières versions et installer les mises à jour Windows en attente :
    Get-WindowsUpdate -Install -AcceptAll -AutoReboot
  2. Configurer les paramètres de compatibilité des applications pour les programmes problématiques :
    Set-ProcessMitigation -Name "YourApp.exe" -Enable DEP,SEHOP,ForceRelocateImages
  3. Optimiser les paramètres de mémoire virtuelle du système :
    $cs = Get-WmiObject -Class Win32_ComputerSystem; $cs.AutomaticManagedPagefile = $false; $cs.Put()
  4. Mettre en œuvre des politiques de redémarrage d'application en utilisant le Planificateur de tâches ou les options de récupération de service
  5. Configurer le vérificateur de fichiers système pour qu'il s'exécute régulièrement :
    sfc /scannow
  6. Configurer la surveillance automatisée avec des scripts PowerShell :
    Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Application' AND EventCode=23" -Action { Write-Host "Application hang detected at $(Get-Date)" }
  7. Mettre en œuvre le recyclage des pools d'applications pour les applications web et configurer les politiques de redémarrage de service
  8. Examiner et optimiser les exclusions antivirus pour les applications qui se bloquent fréquemment
Astuce pro : Envisagez de mettre en œuvre la conteneurisation ou la virtualisation des applications pour les applications héritées problématiques afin d'isoler leur impact sur la stabilité du système.

Aperçu

L'ID d'événement 23 se déclenche lorsque Windows détecte qu'une application a cessé de répondre aux messages système pendant une période prolongée. Ce mécanisme de détection de blocage fait partie du système de surveillance de la réactivité des applications de Windows, conçu pour identifier quand les programmes deviennent non réactifs en raison de blocages, de boucles infinies ou de problèmes de contention de ressources.

L'événement apparaît généralement dans le journal des applications et fournit des informations de diagnostic cruciales, y compris le nom du processus de l'application bloquée, l'ID du processus et la durée de la condition de blocage. Windows génère cet événement après que l'application ne répond pas aux messages de fenêtre pendant environ 5 secondes par défaut, bien que ce seuil puisse varier en fonction de la configuration du système et du type d'application.

Cet événement est particulièrement précieux pour les administrateurs système surveillant la stabilité des applications dans les environnements d'entreprise, car il fournit un avertissement précoce des problèmes potentiels d'application avant que les utilisateurs ne signalent des problèmes. Les données de l'événement incluent le nom de l'exécutable, l'identifiant du processus et la durée du blocage, ce qui facilite la corrélation avec les outils de surveillance des performances et l'identification des modèles de comportement des applications.

Questions Fréquentes

Que signifie exactement l'ID d'événement Windows 23 et quelle est sa gravité ?+
L'ID d'événement 23 indique que Windows a détecté une condition de blocage d'application où un programme est devenu non réactif pendant une période prolongée, généralement 5 secondes ou plus. Bien que cela ne soit pas immédiatement critique, c'est un signe d'avertissement qu'une application rencontre des problèmes pouvant entraîner une défaillance complète. La gravité dépend de la fréquence et de l'application affectée - des blocages occasionnels peuvent être acceptables pour des applications non critiques, mais des blocages fréquents ou des blocages dans des applications essentielles pour l'entreprise nécessitent une enquête immédiate. L'événement sert de système d'alerte précoce, permettant aux administrateurs de résoudre les problèmes avant qu'ils n'affectent les utilisateurs ou la stabilité du système.
Comment puis-je déterminer quelle application spécifique provoque l'apparition de l'ID d'événement 23 ?+
L'entrée de l'ID d'événement 23 contient des informations détaillées sur l'application bloquée dans son champ de message. Vous pouvez identifier l'application spécifique en examinant les détails de l'événement dans l'Observateur d'événements, qui affichera le nom du programme, le chemin de l'exécutable et l'ID du processus. Utilisez PowerShell pour extraire systématiquement ces informations : Get-WinEvent -FilterHashtable @{LogName='Application'; Id=23} | Select-Object Message affichera les messages d'événement complets. Le message inclut généralement le nom du programme et le chemin du fichier. Vous pouvez également corréler l'ID de processus mentionné dans l'événement avec les processus en cours dans le Gestionnaire des tâches pour identifier l'état actuel de l'application.
L'ID d'événement 23 peut-il être causé par des problèmes à l'échelle du système plutôt que par des problèmes spécifiques à une application ?+
Oui, l'ID d'événement 23 peut être déclenché par des problèmes à l'échelle du système qui affectent la réactivité des applications. Les causes courantes au niveau du système incluent une utilisation élevée du CPU, une pression sur la mémoire, des goulots d'étranglement des E/S disque, des problèmes de connectivité réseau ou des conflits de pilotes. Les logiciels antivirus effectuant des analyses approfondies, les mises à jour Windows s'installant en arrière-plan ou des problèmes matériels comme des disques durs défaillants peuvent également provoquer le blocage simultané de plusieurs applications. Si vous voyez l'ID d'événement 23 affecter plusieurs applications différentes à peu près au même moment, examinez les métriques de performance à l'échelle du système, vérifiez les problèmes matériels et passez en revue les changements ou mises à jour récents du système qui pourraient affecter la performance globale du système.
Quelle est la différence entre l'ID d'événement 23 et les événements de plantage d'application, et lequel est le plus préoccupant ?+
L'ID d'événement 23 indique un blocage d'application (non réactif mais toujours en cours d'exécution), tandis que les événements de plantage d'application (comme l'ID d'événement 1000) indiquent une terminaison complète de l'application en raison d'erreurs. Les blocages sont souvent des précurseurs de plantages - une application qui se bloque fréquemment peut éventuellement planter complètement. D'un point de vue de dépannage, les blocages peuvent être plus difficiles car l'application est toujours en cours d'exécution mais ne fonctionne pas, ce qui rend plus difficile l'identification de la cause exacte. Les plantages fournissent des informations d'erreur plus définitives et des traces de pile. Les deux sont préoccupants, mais des blocages persistants pourraient indiquer des problèmes plus profonds comme des interblocages ou des fuites de ressources qui pourraient affecter la stabilité du système au fil du temps, tandis que les plantages sont plus immédiatement perturbateurs mais souvent plus faciles à diagnostiquer et à résoudre.
Comment puis-je empêcher l'ID d'événement 23 de se produire fréquemment sur mes systèmes ?+
Prévenir l'ID d'événement 23 nécessite une approche multi-couches axée sur la santé des applications, l'optimisation du système et la surveillance proactive. Gardez toutes les applications et Windows à jour avec les dernières versions, car les mises à jour incluent souvent la détection de blocages et des améliorations de stabilité. Mettez en œuvre une gestion appropriée des ressources en surveillant l'utilisation de la mémoire, en assurant une mémoire virtuelle adéquate et en prévenant l'épuisement des ressources. Configurez les applications avec des paramètres de délai d'attente appropriés et mettez en œuvre des politiques de redémarrage pour les services critiques. Utilisez Application Verifier et des outils de débogage pendant les phases de développement ou de test pour identifier les conditions potentielles de blocage. Optimisez les performances du système en gérant les programmes de démarrage, en planifiant les tâches gourmandes en ressources pendant les heures creuses et en assurant des ressources matérielles adéquates. Enfin, mettez en œuvre des solutions de surveillance capables de détecter et de redémarrer automatiquement les applications bloquées avant qu'elles n'affectent les utilisateurs.
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...