Débogage d’une défaillance d’application
Il existe une variété d’erreurs possibles dans les applications en mode utilisateur.
Les types d’échecs les plus courants incluent les violations d’accès, les erreurs d’alignement, les exceptions, les délais d’expiration de section critiques (interblocages) et les erreurs d’E/S dans la page.
Les violations d’accès et les erreurs d’alignement des types de données sont parmi les plus courantes. Elles se produisent généralement lorsqu’un pointeur non valide est déréférencé. La faute à la fonction à l’origine de l’erreur ou à une fonction antérieure qui a transmis un paramètre non valide à la fonction défaillante.
Les exceptions en mode utilisateur ont de nombreuses causes possibles. Si une exception inconnue se produit, localisez-la dans ntstatus.h ou winerror.h si possible.
Des délais d’expiration de section critique (ou des interblocages possibles) se produisent lorsqu’un thread attend une section critique pendant une longue période. Celles-ci sont difficiles à déboguer et nécessitent une analyse approfondie de la trace de la pile.
Les erreurs d’E/S dans la page sont presque toujours des défaillances matérielles. Vous pouvez double-case activée le code status dans ntstatus.h pour vérifier.
Voir aussi
Affichage d’une section critique
Délai d’expiration de section critique (mode utilisateur)