Blocage et redémarrage de l’ordinateur cible
Lorsque vous effectuez le débogage du noyau, vous pouvez empêcher l’ordinateur cible de répondre (c’est-à-dire, bloquer ou vérifier les bogues) en émettant la commande .crash (Force System Crash). Cette commande entraîne immédiatement l’arrêt de réponse de l’ordinateur cible. Le débogueur écrit un fichier de vidage en mode noyau si vous avez activé les vidages sur incident. (Pour plus d’informations sur ces fichiers, consultez Création d’un fichier de vidage en mode noyau.)
Pour redémarrer l’ordinateur cible, utilisez la commande .reboot (Redémarrage de l’ordinateur cible).
Si vous souhaitez que l’ordinateur cible crée un fichier de vidage sur incident, puis redémarrez, vous devez émettre la commande .crash , suivie de la commande .reboot . Si vous souhaitez redémarrer uniquement, la commande .crash n’est pas nécessaire.
Au début du processus de démarrage, la connexion entre l’ordinateur hôte et l’ordinateur cible est perdue. Aucune information sur l’ordinateur cible n’est disponible pour le débogueur.
Une fois la connexion interrompue, le débogueur ferme tous les fichiers de symboles et décharge toutes les extensions de débogueur. À ce stade, tous les points d’arrêt sont perdus si vous exécutez KD ou CDB. Dans WinDbg, vous pouvez enregistrer l’espace de travail actuel. Cette action enregistre tous les points d’arrêt.
Si vous souhaitez mettre fin à la session de débogage à ce stade, utilisez la commande Ctrl+B (en KD) ou cliquez sur Quitter dans le menu Fichier (dans WinDbg).
Si vous ne quittez pas le débogueur, la connexion est rétablie une fois le processus de démarrage suffisant. Les symboles et les extensions sont rechargés à ce stade. Si vous exécutez WinDbg, l’espace de travail en mode noyau est rechargé.
Vous pouvez indiquer au débogueur de se décomposer automatiquement dans l’ordinateur cible pendant le processus de redémarrage à deux reprises :
Lorsque le premier module du noyau est chargé en mémoire
Quand le noyau initialise
Pour définir un point d’arrêt automatique lorsque le premier module du noyau se charge, utilisez l’option de ligne de commande -d.
Vous pouvez également modifier l’état d’arrêt une fois que le débogueur est en cours d’exécution :
Contrôlez le chargement initial du module et les points d’arrêt d’initialisation du noyau, comme toutes les exceptions et tous les événements. Vous pouvez vous décomposer dans le débogueur lorsque ces événements se produisent ou les ignorer. Vous pouvez également exécuter automatiquement une commande spécifiée lorsque ces points d’arrêt sont atteints. Pour plus d’informations, consultez Contrôle des exceptions et des événements.
Utilisez les touches de raccourci Ctrl+K dans KD, les touches de raccourci Ctrl+Alt+K dans WinDbg et le débogage | Connexion au noyau | Commande Cycle Initial Break dans WinDbg pour modifier l’état d’arrêt. Chaque fois que vous utilisez ces commandes, le débogueur bascule entre trois états : aucun arrêt automatique, arrêt lors de l’initialisation du noyau et arrêt sur la première charge du module du noyau. Cette méthode ne peut pas activer les deux points d’arrêt automatiques en même temps.