Démarrer la session de débogage
Dans cette documentation sur la façon de contrôler le débogage en mode utilisateur à partir du débogueur du noyau, l’application cible fait référence à l’application en mode utilisateur en cours de débogage, l’ordinateur cible fait référence à l’ordinateur qui contient l’application cible et le processus NTSD ou CDB, et l’ordinateur hôte fait référence à l’ordinateur qui contient le débogueur du noyau.
Pour commencer à utiliser cette technique, vous devez effectuer les opérations suivantes. Vous pouvez effectuer les étapes 1 et 2 dans l’un ou l’autre ordre.
Démarrez NTSD ou CDB sur l’ordinateur cible, avec l’option de ligne de commande -d.
Par exemple, on peut attacher un processus en cours d’exécution à l’aide de la syntaxe suivante.
ntsd -d [-y UserSymbolPath] -p PID
On peut également lancer un nouveau processus en tant que cible à l’aide de la syntaxe suivante.
ntsd -d [-y UserSymbolPath] ApplicationName
Si on installe cela en tant que débogueur postmortem, il faut utiliser la syntaxe suivante.
ntsd -d [-y UserSymbolPath]
Pour plus d’informations sur cette étape, consultez Débogage d’un processus en mode utilisateur à l’aide de CDB.
Démarrer WinDbg ou KD sur l’ordinateur hôte, comme s’il s’agissait de déboguer l’ordinateur cible, mais sans entrer réellement dans ce dernier. Pour utiliser WinDbg, utiliser la syntaxe suivante.
windbg [-y KernelSymbolPath] [-k ConnectionOptions]
Pour plus d’informations sur cette étape, consultez Débogage en mode noyau en direct à l’aide de WinDbg (classique).
Notez que si vous utilisez WinDbg comme débogueur de noyau, de nombreuses fonctionnalités familières de WinDbg ne sont pas disponibles dans ce scénario. Par exemple, vous ne pouvez pas utiliser la fenêtre Locals, la fenêtre Désassembler ou la fenêtre Pile des appels, et vous ne pouvez pas parcourir le code source. Cela est dû au fait que WinDbg agit uniquement en tant que visionneuse pour le débogueur (NTSD ou CDB) s’exécutant sur l’ordinateur cible.
Si vous n’avez pas défini le chemin du symbole en mode utilisateur, définissez-le à partir de l’invite d’entrée> . Si vous n’avez pas défini le chemin du symbole en mode noyau, définissez-le à partir de l’invite kd> . Pour plus d’informations sur la façon d’accéder à ces invites et de basculer entre les modes, consultez Modes de basculement.
Si vous utilisez CDB, la fenêtre d’invite de commandes associée à CDB reste verrouillée et indisponible pendant le débogage. Si on utilise NTSD, aucune fenêtre supplémentaire n’est créée, même si NTSD possède un ID de processus associé à celui-ci sur l’ordinateur cible.
Si vous souhaitez exécuter le débogueur en mode utilisateur à partir du débogueur du noyau tout en l’utilisant en tant que serveur de débogage, consultez Combinaison de cette méthode avec débogage à distance.