KeBugCheck, fonction (ntddk.h)
La routine KeBugCheck fait tomber le système de manière contrôlée lorsque l’appelant découvre une incohérence irrécupérable qui endommagerait le système si l’appelant continuait à s’exécuter.
Syntaxe
void KeBugCheck(
[in] ULONG BugCheckCode
);
Paramètres
[in] BugCheckCode
Spécifie une valeur qui indique la raison du bogue case activée.
Valeur de retour
None
Remarques
Un bogue case activée est une erreur détectée par le système qui provoque un arrêt immédiat et contrôlé du système. Différents composants en mode noyau effectuent une vérification de cohérence au moment de l’exécution. Lorsqu’un tel composant découvre une incohérence irrécupérable, un bogue case activée est généré.
Dans la mesure du possible, tous les composants en mode noyau doivent enregistrer une erreur et continuer à s’exécuter, au lieu d’appeler KeBugCheck. Par exemple, si un pilote ne parvient pas à allouer les ressources requises, il doit enregistrer une erreur afin que le système continue à s’exécuter ; il ne doit pas générer de bogue case activée.
Un pilote ou un autre composant en mode noyau doit appeler cette routine uniquement en cas d’erreur irrécupérable irrécupérable susceptible d’endommager le système lui-même.
KeBugCheck peut être utile dans les premières étapes du développement d’un pilote, ou pendant qu’il est en cours de test. Dans ces circonstances, le BugCheckCode transmis à cette routine doit être distinct des codes déjà utilisés par Windows ou ses pilotes. Pour obtenir la liste de ces codes, consultez Codes de vérification des bogues.
Toutefois, même pendant le développement du pilote, cette routine n’est que d’une utilité limitée, car elle entraîne un arrêt complet du système. Une méthode de débogage plus efficace consiste à attacher un débogueur de noyau au système, puis à utiliser des routines qui envoient des messages au débogueur ou s’insèrent dans le débogueur. Pour plus d’informations, consultez Utilisation du code de débogage dans un pilote.
Lorsqu’un bogue case activée est inévitable, la plupart des composants système appellent KeBugCheckEx, qui fournit plus d’informations sur la cause d’une telle incohérence que KeBugCheck.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | ntddk.h (incluez Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour