Share via


Débogage Kernel-Mode en direct à l’aide de WinDbg (classique)

Il existe deux façons d’utiliser WinDbg pour lancer une session de débogage en mode noyau en direct.

WinDbg Menu

Lorsque WinDbg est en mode dormant, vous pouvez commencer une session de débogage du noyau en choisissant Noyau Déboguer dans le menu Fichier ou en appuyant sur Ctrl+K. Lorsque la boîte de dialogue Débogage du noyau s’affiche, cliquez sur l’onglet approprié : NET, 1394, USB, COM ou Local. Chaque onglet spécifie une méthode de connexion différente.

Invite de commandes

Dans une fenêtre d’invite de commandes, vous pouvez lancer une session de débogage en mode noyau lorsque vous lancez WinDbg. Entrez l’une des commandes suivantes :

windbg [-y SymbolPath] -k net:port=PortNumber,key=Key[,targetIPAddress|TargetMachineName]

windbg [-y SymbolPath] -k usb:targetname=USBString

windbg [-y SymbolPath] -k com:port=ComPort,baud=BaudRate

windbg [-y SymbolPath] -k com:ipport=SerialTcpIpPort,port=SerialIPAddress

windbg [-y SymbolPath] -k com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]

windbg [-y SymbolPath] -k com:modem

windbg [-y SymbolPath] -kl

windbg [-y SymbolPath] -k

Pour plus d’informations, consultez Options de Command-Line WinDbg.

Variables d’environnement

Pour le débogage sur une connexion série (port COM) ou 1394, 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 des symboles.

PortNumber
Numéro de port à utiliser pour le débogage réseau. Vous pouvez choisir n’importe quel nombre compris entre 49152 et 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, qui est 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ène à tenter de se connecter à ce débogueur. Le débogueur envoie des paquets à la cible à plusieurs reprises environ toutes les demi-secondes, 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 exécuté sur l’ordinateur avec l’adresse IP de l’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 quand aucune adresse IP cible= 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.

1394Channel
Numéro de canal 1394. Les numéros de canal valides sont tous les entiers compris entre 0 et 62, inclus. 1394Channel doit correspondre au nombre utilisé par l’ordinateur cible, mais ne dépend pas du port physique 1394 choisi sur l’adaptateur. Pour plus d’informations, consultez Configuration manuelle d’une connexion 1394.

1394Protocol
Protocole de connexion à utiliser pour la connexion au noyau 1394. Cela peut presque toujours être omis, car le débogueur choisit automatiquement le protocole approprié. Si vous souhaitez définir cette valeur manuellement et que l’ordinateur cible exécute Windows XP, 1394Protocol doit être défini sur « canal ». Si l’ordinateur cible exécute Windows Server 2003 ou version ultérieure, 1394Protocol doit être défini sur « instance ». S’il est omis, le débogueur utilise par défaut le protocole approprié pour l’ordinateur cible actuel. Cela peut être spécifié uniquement via la ligne de commande ou les variables d’environnement, et non via l’interface graphique WinDbg.

USBString
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 manuelle d’une connexion USB 3.0 et Configuration manuelle d’une connexion USB 2.0.

Comport
Nom du port COM. Cela peut être au format « com2 » ou au format « \\.\com2 », mais ne doit pas être simplement 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.

SerialTcpIpPort
Port IP TCP cible du port COM série émulé.

SerialIPAddress
Adresse IP TCP cible du port COM série émulé.

VMHost
Lors du débogage d’une machine virtuelle, VMHost spécifie le nom de l’ordinateur physique sur lequel la machine virtuelle s’exécute. Si la machine virtuelle s’exécute sur le même ordinateur que le débogueur du noyau lui-même, utilisez un point unique (.) 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 lors de la synchronisation de l’hôte et de la cible. Ce paramètre est nécessaire uniquement lors du débogage de certains types de machines virtuelles.

Reconnecter
Entraîne la déconnexion automatique du débogueur et la reconnexion du canal en cas d’échec de lecture/écriture. En outre, si le canal nommé est introuvable au démarrage du débogueur, le paramètre reconnect 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
Le débogueur effectue un débogage local en mode noyau. Pour plus d’informations, consultez Débogage Kernel-Mode local.

Exemples

Le fichier de commandes suivant peut être utilisé pour configurer et démarrer une session de débogage via 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
windbg -k

Les lignes de commande suivantes peuvent être utilisées pour démarrer WinDbg sans variables d’environnement.

windbg -y d:\mysymbols -k com:port=com2,baud=57600

windbg -y d:\mysymbols -k com:port=\\.\com2,baud=115200

windbg -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey

windbg -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey,target=TargetIPAddress

Voir aussi

WinDbg Command-Line Options

Variables d’environnement en mode noyau