Débogage en mode noyau en direct à l’aide de KD
Dans une fenêtre d’invite de commandes, vous pouvez lancer une session de débogage en mode noyau en direct lorsque vous lancez KD. Entrez l’une des commandes suivantes.
kd [-y SymbolPath] -k net :port=PortNumber,key=Key[,target=TargetIPAddress|TargetHostName]
kd [-y SymbolPath] -k usb :targetname=USBString
kd [-y SymbolPath] -k com :port=ComPort,baud=BaudRate
kd [-y SymbolPath] -k com :ipport=SerialTcpIpPort,port=SerialIPAddress
kd [-y SymbolPath] -k com :pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
kd [-y SymbolPath] -k com :modem
kd [-y SymbolPath] -kl
kd [-y SymbolPath] -k
Pour plus d’informations, consultez options de ligne de commande KD.
Variables d’environnement
Pour le débogage sur une connexion série (port COM), vous pouvez utiliser des variables d’environnement pour spécifier les paramètres de connexion.
Utilisez les variables suivantes pour spécifier une connexion série.
set _NT_DEBUG_PORT = ComPort
set _NT_DEBUG_BAUD_RATE = BaudRate
Pour plus d’informations, consultez Variables d’environnement en mode noyau.
Paramètres
SymbolPath
Liste des répertoires où se trouvent les fichiers de symboles. Les répertoires de la liste sont séparés par des points-virgules. Pour plus d’informations, consultez Chemin d’accès aux symboles.
PortNumber
Numéro de port à utiliser pour le débogage réseau. Vous pouvez choisir n’importe quel nombre de 49152 à 65535. Pour plus d’informations, consultez Configuration manuelle d’une connexion réseau.
Clé
Clé de chiffrement à utiliser pour le débogage réseau. Nous vous recommandons d’utiliser une clé générée automatiquement, fournie par bcdedit lorsque vous configurez l’ordinateur cible. Pour plus d’informations, consultez Configuration manuelle d’une connexion réseau.
TargetIPAddress
Adresse IPv4 de l’ordinateur cible.
Lorsque l’adresse IP target= est spécifiée, le débogueur lance une connexion à l’ordinateur cible spécifié, en envoyant un paquet spécial à la cible, ce qui l’amènera à tenter de se connecter à ce débogueur. Le débogueur envoie des paquets à la cible à plusieurs reprises chaque moitié de seconde, en tentant de se connecter. Si la connexion réussit, la cible supprime toute connexion existante et communique uniquement avec cette instance du débogueur. Cela vous permet de prendre le contrôle de la session de débogage loin d’une connexion de débogage existante.
Lorsque la cible est configurée avec une adresse IP hôte et que le débogueur est en cours d’exécution sur l’ordinateur avec l’adresse IP hôte configurée, il n’est pas nécessaire de spécifier le paramètre d’adresse IP target= . Lorsque la cible est configurée avec une adresse IP hôte, elle envoie des paquets OFFER à l’hôte toutes les trois secondes. Les paquets OFFER permettent au débogueur de se connecter à l’hôte lorsqu’aucune adresse IP target= n’est spécifiée.
Pour plus d’informations sur la configuration de l’adresse IP hôte sur la cible, consultez Configuration automatique du débogage du noyau réseau KDNET et Configuration manuelle du débogage du noyau réseau KDNET.
TargetMachineName
Nom de l’ordinateur cible. Pour utiliser le nom de l’ordinateur, le système DNS sur le réseau doit avoir le nom de l’ordinateur associé à l’adresse IP du PC cible.
USBString
Un chaîne de connexion USB. Cela doit correspondre à la chaîne spécifiée avec l’option de démarrage /targetname. Pour plus d’informations, consultez Configuration du débogage en mode noyau USB 3.0 xHCI-DBC (KDUSB).
Comport
Nom du port COM. Cela peut être au format « com2 » ou au format « \\.\com2 », mais ne doit pas simplement être un nombre. Pour plus d’informations, consultez Configuration manuelle d’une connexion série.
BaudRate
Vitesse en bauds. Il peut s’agir de 9600, 19200, 38400, 57600 ou 115200.
VMHost
Lors du débogage d’une machine virtuelle, VMHost spécifie le nom de l’ordinateur physique sur lequel la machine virtuelle est en cours d’exécution. Si la machine virtuelle s’exécute sur le même ordinateur que le débogueur du noyau lui-même, utilisez une seule période (.) pour VMHost. Pour plus d’informations, consultez Configuration d’une connexion à une machine virtuelle.
PipeName
Nom du canal créé par la machine virtuelle pour la connexion de débogage.
resets=0
Spécifie qu’un nombre illimité de paquets de réinitialisation peut être envoyé à la cible lorsque l’hôte et la cible sont synchronisés. Ce paramètre est nécessaire uniquement lors du débogage de certains types de machines virtuelles.
reconnecter
Le débogueur se déconnecte et reconnecte automatiquement le canal en cas d’échec de lecture/écriture. En outre, si le canal nommé est introuvable lorsque le débogueur est démarré, le paramètre de reconnexion l’oblige à attendre qu’un canal de ce nom apparaisse. Ce paramètre est nécessaire uniquement lors du débogage de certains types de machines virtuelles.
-Kl
Provoque le débogage du débogueur en mode noyau local. Pour plus d’informations, consultez Débogage en mode noyau local.
SerialTcpIpPort
Port IP TCP cible du port COM série émulé.
SerialIPAddress
Adresse IP TCP cible du port COM série émulé.
Exemples
Le fichier batch suivant peut être utilisé pour configurer et démarrer une session de débogage sur une connexion de port COM.
set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_PORT=com1
set _NT_DEBUG_BAUD_RATE=115200
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd
Les lignes de commande suivantes peuvent être utilisées pour démarrer WinDbg sans aucune variable d’environnement.
kd -y d :\mysymbols -k com :port=com2,baud=57600
kd -y d :\mysymbols -k com :port=\.\com2,baud=115200
kd -y d :\mysymbols -k net :port=50000,key=AutoGeneratedKey