Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les outils de débogage pour Windows prennent en charge le débogage du noyau local. Il s’agit du débogage en mode noyau sur un seul ordinateur. En d’autres termes, le débogueur s’exécute sur le même ordinateur que celui en cours de débogage.
Configuration du débogage Kernel-Mode local
Pour plus d’informations sur la configuration du débogage en mode noyau local, consultez Configuration manuelle du débogage Kernel-Mode local d’un ordinateur unique.
Démarrage de la session de débogage
Utilisation de WinDbg
Ouvrez WinDbg en tant qu’administrateur. Dans le menu Fichier, choisissez Débogage du noyau. Dans la boîte de dialogue Débogage du noyau, ouvrez l’onglet Local . Sélectionnez OK.
Vous pouvez également démarrer une session avec WinDbg en ouvrant une fenêtre d’invite de commandes en tant qu’administrateur et en entrant la commande suivante :
windbg -kl
Utilisation de KD
Ouvrez une fenêtre d’invite de commandes en tant qu’administrateur, puis entrez la commande suivante :
kd -kl
Commandes non disponibles
Toutes les commandes ne sont pas disponibles dans une session de débogage de noyau local. En règle générale, vous ne pouvez pas utiliser de commande qui provoque l’arrêt de l’ordinateur cible, même momentanément, car vous ne pouvez pas reprendre l’opération.
En particulier, vous ne pouvez pas utiliser les commandes suivantes :
Commandes d’exécution, telles que g (Go), p (Step), t (Trace), wt (Trace and Watch Data), tb (Trace to Next Branch), gh (Go with Exception Handled) et gn (Go with Exception Not Handled)
Commandes d’arrêt et de fichier de vidage, telles que .crash, .dump et .reboot
Commandes de point d’arrêt, telles que bp, bu, ba, bc, bd, be et bl
Inscrire des commandes d’affichage, telles que r et des variantes
Commandes de suivi de pile, telles que k et ses variantes
Si vous effectuez un débogage de noyau local avec WinDbg, toutes les commandes et boutons de menu équivalents ne sont pas disponibles.
Commandes disponibles
Toutes les commandes d’entrée et de sortie de mémoire sont disponibles. Vous pouvez lire librement à partir de la mémoire utilisateur et de la mémoire du noyau. Vous pouvez également écrire en mémoire. Assurez-vous que vous n’écrivez pas dans la mauvaise partie de la mémoire du noyau, car il peut endommager les structures de données et provoque fréquemment l’arrêt de la réponse de l’ordinateur (c’est-à-dire un incident).
Difficultés d’exécution du débogage du noyau local
Le débogage de noyau local est une opération très délicate. Veillez à ne pas endommager ou bloquer le système.
L’un des aspects les plus difficiles du débogage du noyau local est que l’état de l’ordinateur change constamment. La mémoire est paginée en entrée et sortie, le processus actif change constamment, et les contextes d'adresse virtuelle ne demeurent pas constants. Toutefois, dans ces conditions, vous pouvez analyser efficacement les éléments qui changent lentement, tels que certains états d’appareil.
Les pilotes en mode noyau et le système d’exploitation Windows envoient fréquemment des messages au débogueur du noyau à l’aide de DbgPrint et de fonctions associées. Ces messages ne sont pas affichés automatiquement pendant le débogage du noyau local. Vous pouvez les afficher à l’aide de l’extension !dbgprint .
LiveKD
L’outil LiveKD simule le débogage du noyau local. Cet outil crée un fichier de vidage « instantané » de la mémoire du noyau, sans arrêter réellement le noyau pendant que cet instantané est effectué. (Par conséquent, l’instantané peut ne pas représenter un seul état momentané de l’ordinateur.)
LiveKD ne fait pas partie du package Outils de débogage pour Windows. Vous pouvez télécharger LiveKd à partir du site Windows Sysinternals.