Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet article explique comment configurer manuellement le débogage du noyau réseau KDNET à l’aide des outils de débogage pour Windows. Vous configurez les ordinateurs hôtes et cibles pour activer le débogage réseau.
Important
La configuration manuelle du débogage réseau est complexe et sujette aux erreurs. Pour la plupart des scénarios, utilisez la configuration automatique à la place :configuration automatique du débogage du noyau réseau KDNET automatiquement. L’utilitaire KDNET est fortement recommandé.
Ce que vous apprenez :
- Guide pratique pour configurer des ordinateurs hôtes et cibles pour le débogage réseau
- Comment établir et résoudre les problèmes de débogage des connexions
- Quand utiliser IPv6 et IPv4 pour le débogage
L’ordinateur qui exécute le débogueur est appelé ordinateur hôte, et l’ordinateur en cours de débogage est appelé ordinateur cible. L’ordinateur hôte doit exécuter Windows 7 ou version ultérieure, et l’ordinateur cible doit exécuter Windows 8 ou version ultérieure.
Le débogage sur un réseau présente les avantages suivants par rapport au débogage sur d’autres types de connectivité.
- L’hôte et les ordinateurs cibles peuvent se trouver n’importe où sur le réseau local.
- Il est facile de déboguer de nombreux ordinateurs cibles à partir d’un ordinateur hôte.
- Compte tenu de deux ordinateurs, il est probable qu’ils disposent tous deux d’adaptateurs Ethernet. Il est moins probable qu’ils aient à la fois des ports série et des ports 1394.
- Le débogage réseau est plus rapide que le débogage de port série.
Adaptateurs réseau pris en charge
Ordinateur hôte : Toute carte réseau est compatible.
Ordinateur cible : Doit utiliser une carte réseau prise en charge. Vérifiez votre version de Windows :
- Adaptateurs pris en charge pour Windows 11
- Adaptateurs pris en charge pour Windows 10
- Adaptateurs pris en charge pour Windows 8.1
Installer les outils de débogage pour Windows
Vérifiez que les outils de débogage pour Windows sont installés sur le système hôte. Pour plus d’informations sur le téléchargement et l’installation des outils de débogueur, consultez Outils de débogage pour Windows.
Déterminer l’adresse IP de l’ordinateur hôte
Utilisez l’une des procédures suivantes pour déterminer l’adresse IP de l’ordinateur hôte.
Sur l’ordinateur hôte, ouvrez une invite de commandes et entrez la commande suivante :
ipconfigNotez l'adresse IPv4 de la carte réseau que vous prévoyez d'utiliser pour le débogage.
Sur l’ordinateur cible, ouvrez une invite de commandes et entrez la commande suivante, où YourIPAddress est l’adresse IP de l’ordinateur hôte :
ping -4 <YourIPAddress>
Choisir un port pour le débogage réseau
Plage de ports recommandée : 50000-50039
Vous pouvez utiliser n’importe quel port de 49152-65535, mais la plage recommandée offre la meilleure compatibilité. Le débogueur utilise ce port exclusivement. Veillez donc à ce qu’aucune autre application ne l’utilise.
Considérations importantes
- Les pare-feu d’entreprise peuvent restreindre les plages de ports. Contactez votre administrateur réseau.
- Chaque ordinateur cible a besoin d’un port unique (par exemple : 50000, 50001, 50002).
- Différents ordinateurs hôtes peuvent réutiliser la même plage de ports.
Remarque
La stratégie réseau de votre entreprise peut limiter les ports disponibles. Vérifiez auprès de vos administrateurs réseau si vous rencontrez des problèmes de connexion.
Si vous connectez plusieurs ordinateurs cibles à un seul ordinateur hôte, chaque connexion doit avoir un numéro de port unique. Par exemple, si vous connectez 100 ordinateurs cibles à un seul ordinateur hôte, vous pouvez affecter le port 50000 à la première connexion, le port 50001 à la deuxième connexion, et ainsi de suite.
Remarque
Un autre ordinateur hôte peut utiliser la même plage de ports (50000 à 50099) pour se connecter à 100 autres ordinateurs cibles.
Configurer l’ordinateur cible
Vérifiez que l’ordinateur cible dispose d’une carte réseau prise en charge. Pour plus d’informations, consultez :
Connectez l'adaptateur pris en charge à un hub réseau ou un commutateur à l’aide d’un câble réseau approprié.
Important
Avant d’utiliser BCDEdit pour modifier les informations de démarrage, vous devrez peut-être suspendre temporairement les fonctionnalités de sécurité Windows, telles que BitLocker et Le démarrage sécurisé, sur le PC de test. Réactivez ces fonctionnalités de sécurité lorsque le test est terminé et gérez correctement le PC de test lorsque les fonctionnalités de sécurité sont désactivées.
Dans une invite de commandes avec élévation de privilèges, entrez les commandes suivantes. Remplacez w.x.y.z par l’adresse IP de votre ordinateur hôte et n par le numéro de port choisi :
bcdedit /debug on bcdedit /dbgsettings net hostip:w.x.y.z port:nPar exemple:
bcdedit /debug on bcdedit /dbgsettings net hostip:192.168.1.100 port:50000BCDEdit affiche une clé générée automatiquement. Copiez la clé et stockez-la sur un périphérique de stockage amovible, comme un lecteur flash USB. Vous avez besoin de la clé lorsque vous démarrez une session de débogage sur l’ordinateur hôte.
Utilisez Device Manager pour déterminer les numéros de fonction, d’appareil et de bus PCI de l’adaptateur que vous souhaitez utiliser pour le débogage. Ces valeurs sont affichées dans le Gestionnaire de périphériques sous
Emplacement sous l’onglet général. Ensuite, dans une invite de commandes avec élévation de privilèges, entrez la commande suivante, où b ,d etf sont le numéro de bus, le numéro d’appareil et le numéro de fonction de l’adaptateur :bcdedit /set "{dbgsettings}" busparams b.d.fLe PC cible est redémarré une fois qu’un débogueur de noyau est attaché.
Remarque
Si vous envisagez d’installer le rôle Hyper-V sur l’ordinateur cible, consultez Configuration du débogage réseau d’un hôte de machine virtuelle.
Caution
Si votre ordinateur cible se trouve dans une station d’ancrage et que vous activez le débogage réseau pour une carte réseau qui fait partie de la station d’ancrage, ne supprimez pas l’ordinateur de la station d’ancrage. Si vous devez supprimer l’ordinateur cible de la station d’ancrage, désactivez d’abord le débogage du noyau. Pour désactiver le débogage du noyau sur l’ordinateur cible, ouvrez une invite de commandes en tant qu’administrateur et entrez la commande bcdedit /debug off. Redémarrez l’ordinateur cible.
Démarrer la session de débogage
Avant de commencer : Vérifiez que la carte réseau de votre ordinateur hôte est connectée à un hub réseau ou à un commutateur.
Option 1 : Utiliser WinDbg (GUI)
- Ouvrez WinDbg sur l’ordinateur hôte.
- SélectionnezFichier>Débogage du noyau.
- Ouvrez l’onglet Net .
- Entrez votre numéro de port et votre clé.
- Sélectionnez OK.
Option 2 : Utiliser WinDbg (ligne de commande)
Vous pouvez également démarrer une session avec WinDbg en ouvrant une invite de commandes et en entrant la commande suivante, où n est votre numéro de port et MyKey est la clé générée automatiquement par BCDEdit lorsque vous configurez l’ordinateur cible :
windbg -k net:port=<n>,key=<MyKey>
Si une demande d’autorisation pour que WinDbg accède au port à travers le pare-feu apparaît, autorisez WinDbg à accéder au port pour les trois types de réseaux différents.
Utiliser KD
Sur l’ordinateur hôte, ouvrez une invite de commande. Entrez la commande suivante, où n est votre numéro de port et MyKey est la clé générée automatiquement par BCDEdit lorsque vous configurez l’ordinateur cible :
kd -k net:port=<n>,key=<MyKey>
Si une demande d’autorisation pour que WinDbg accède au port à travers le pare-feu apparaît, autorisez WinDbg à accéder au port pour les trois types de réseaux différents.
Redémarrer le PC cible
Lorsque le débogueur se connecte et attend, redémarrez l’ordinateur cible. Une façon de redémarrer le PC consiste à utiliser cette commande à partir de l’invite de commandes d’un administrateur :
shutdown -r -t 0
Lorsque la cible redémarre, le débogueur du système d’exploitation hôte se connecte.
Après vous être connecté à la cible sur l’hôte, sélectionnez Arrêt sur votre débogueur et vous pouvez commencer le débogage.
Autoriser le débogueur via le pare-feu
Lorsque vous tentez pour la première fois d’établir une connexion de débogage réseau, vous pouvez être invité à autoriser l’accès de l’application de débogage (WinDbg ou KD) via le pare-feu. Les versions clientes de Windows affichent l’invite, mais les versions serveur de Windows n’affichent pas l’invite. Répondez à l’invite en cochant les cases pour les trois types de réseau : domaine, privé et public.
Si vous n’obtenez pas l’invite ou si vous n’avez pas coché les cases lorsque l’invite était disponible, utilisez le Panneau de configuration pour autoriser l’accès via le pare-feu sur le PC hôte où le débogueur est en cours d’exécution. Ouvrez Panneau de configuration > système et sécurité, puis sélectionnez Autoriser une application via le Pare-feu Windows.
(WinDbg) Dans la liste des applications, recherchez le processus du moteur WinDbg (TCP) (tout).
(WinDbg classique) Dans la liste des applications, recherchez le débogueur symbolique Windows GUI et le débogueur du noyau Windows.
Utilisez les cases à cocher pour autoriser ces applications via le pare-feu. Redémarrez votre application de débogage (WinDbg ou KD).
Clé de chiffrement
Pour sécuriser l’ordinateur cible, les paquets qui transitent entre l’hôte et les ordinateurs cibles doivent être chiffrés. Utilisez une clé de chiffrement générée automatiquement (fournie par BCDEdit lorsque vous configurez l’ordinateur cible). Une clé de chiffrement générée automatiquement est plus sécurisée et fournit une valeur unique que vous utilisez pour établir la connexion à une cible spécifique.
Le débogage réseau utilise une clé de 256 bits formatée sous forme de quatre valeurs de 64 bits, en base 36, séparées par des points. Chaque valeur 64 bits est spécifiée en utilisant jusqu’à 13 caractères. Les caractères valides sont les lettres a à z et les chiffres 0 à 9. Les caractères spéciaux ne sont pas autorisés.
Pour spécifier votre propre clé, ouvrez une invite de commande élevée sur l’ordinateur cible. Entrez la commande suivante, où w.x.y.z est l’adresse IP de l’ordinateur hôte, n correspond à votre numéro de port et clé est votre clé :
bcdedit /dbgsettings net hostip:w.x.y.z port:n key:Key
L’ordinateur cible doit être redémarré chaque fois que vous modifiez les dbgsettings.
Conseils de dépannage
Autoriser l’application de débogage via des pare-feu
Lorsque vous tentez pour la première fois d’établir une connexion de débogage réseau, vous pouvez être invité à autoriser l’accès de l’application de débogage (WinDbg ou KD) via le pare-feu. Les versions clientes de Windows affichent l’invite, mais les versions serveur de Windows n’affichent pas l’invite. Répondez à l’invite en cochant les cases pour les trois types de réseau : domaine, privé et public.
Si vous n’obtenez pas l’invite ou si vous n’avez pas coché les cases lorsque l’invite était disponible, vous devez utiliser le Panneau de configuration pour autoriser l’accès via le pare-feu. Ouvrez Panneau de configuration > système et sécurité, puis sélectionnez Autoriser une application via le Pare-feu Windows.
(WinDbg) Dans la liste des applications, recherchez le processus du moteur WinDbg (TCP) (tout).
(WinDbg classique) Dans la liste des applications, localisez Débogueur symbolique GUI Windows et Débogueur du noyau Windows.
Utilisez les cases à cocher pour autoriser ces applications via le pare-feu. Faites défiler vers le bas et sélectionnez OK pour enregistrer les modifications du pare-feu. Redémarrez le débogueur.
Le numéro de port doit figurer dans la plage autorisée par la stratégie réseau
La stratégie réseau de votre entreprise peut limiter la plage de numéros de port que vous pouvez utiliser pour le débogage réseau. Pour savoir si la stratégie de votre entreprise limite la plage de ports pour le débogage réseau, contactez votre administrateur réseau. Sur l’ordinateur cible, ouvrez une invite de commandes en tant qu’administrateur et entrez la commande bcdedit /dbgsettings. Le résultat ressemble à l’exemple suivant :
C:\> bcdedit /dbgsettings
key XXXXXX.XXXXX.XXXXX.XXXXX
debugtype NET
hostip 169.168.1.1
port 50085
dhcp Yes
The operation completed successfully.
Dans la sortie précédente, la valeur du port est 50085. Si la valeur du port est en dehors de la plage autorisée par votre administrateur réseau, entrez la commande suivante. La valeur w.x.y.z est l’adresse IP de l’ordinateur hôte, et VotreDebugPort est un numéro de port dans la plage autorisée.
bcdedit /dbgsettings net hostip:w.x.y.z port:YourDebugPort
Après avoir modifié les paramètres du débogueur de l’ordinateur cible, réexécutez le débogueur sur l’ordinateur hôte avec le nouveau paramètre de port, puis redémarrez l’ordinateur cible.
Utiliser ping pour tester la connectivité
Si le débogueur ne se connecte pas, utilisez la commande ping sur le PC cible pour vérifier la connectivité.
C:\>Ping <HostComputerIPAddress>
Remarque
Cette méthode peut ne pas fonctionner si votre ordinateur hôte n’est pas configuré pour être détectable sur le réseau, car le pare-feu peut bloquer les requêtes ping. Si le pare-feu bloque les requêtes ping, vous n’obtenez aucune réponse lorsque vous effectuez un test ping sur l’hôte.
Comment le débogueur obtient une adresse IP pour l’ordinateur cible
KDNET sur l’ordinateur cible tente d’utiliser le protocole DHCP (Dynamic Host Configuration Protocol) pour obtenir une adresse IP routable pour la carte réseau utilisée pour le débogage. Si KDNET obtient une adresse affectée par DHCP, les ordinateurs hôtes n’importe où sur le réseau peuvent déboguer l’ordinateur cible. Si KDNET ne peut pas obtenir d’adresse affectée par DHCP, il utilise l’adressage IP privé automatique (APIPA) pour obtenir une adresse IP de liaison locale. Les adresses IP des liens locaux ne sont pas routables. Par conséquent, un hôte et une cible ne peuvent pas utiliser d’adresse IP de liaison locale pour communiquer via un routeur. Dans ce cas, le débogage réseau fonctionne si vous connectez l’hôte et les ordinateurs cibles dans le même hub réseau ou commutateur.
Toujours spécifier les busparams lors de la configuration de KDNET sur une machine physique avec un NIC basé sur PCI
Si vous configurez KDNET sur une machine physique avec une carte réseau PCI ou PCIe, spécifiez toujours les busparams pour la carte réseau que vous souhaitez utiliser pour KDNET. Pour spécifier les paramètres du bus, ouvrez le Gestionnaire de périphériques et localisez l’adaptateur réseau que vous souhaitez utiliser pour le débogage. Ouvrez la page de propriétés de la carte réseau et notez le numéro de bus, le numéro d’appareil et le numéro de fonction qui s’affiche sous Emplacement sous l’ongletGénéral . Dans une invite de commandes avec élévation de privilèges, entrez la commande suivante, où b, d et f sont les numéros de bus, d’appareil et de fonction au format décimal :
bcdedit /set "{dbgsettings}" busparams b.d.f
Lorsque le débogueur s’exécute sur l’ordinateur hôte et attend de se connecter, redémarrez l’ordinateur cible à l’aide de la commande suivante :
shutdown -r -t 0
Supprimer manuellement les entrées BCDEdit
Vous n’avez généralement pas besoin de supprimer manuellement les entrées BCDEdit. Toutefois, vous pouvez utiliser cette procédure pour résoudre les situations inhabituelles.
Vous n’avez pas besoin de supprimer manuellement les entrées lorsque vous utilisez l’utilitaire kdnet. Pour plus d’informations, consultez la rubrique Configuration automatique du débogage réseau du noyau KDNET.
Lorsque vous utilisez bcdedit –deletevalue, vous devez fournir un nom d’élément bcd valide. Pour plus d’informations, voir BCDEdit /deletevalue.
Pour supprimer manuellement les entrées bcdedit, procédez comme suit :
Sur l’ordinateur cible, ouvrez une invite de commande en tant qu’administrateur.
Par exemple, entrez la commande suivante pour supprimer l’entrée de débogage BCDEdit pour l’adresse IP de l’hôte :
bcdedit -deletevalue {dbgsettings} hostip
Lorsque vous supprimez le hostip, vous devez spécifier target= sur la ligne de commande du débogueur.
Comme autre exemple, supprimez l’entrée de port à l’aide de la commande suivante :
bcdedit -deletevalue {dbgsettings} port
Lorsque vous supprimez l’entrée de port, KDNET utilise le port de débogueur enregistré par l’ICANN par défaut de 5364.
Configurer Hyper-V
Si vous souhaitez installer le rôle Hyper-V sur l’ordinateur cible, consultez Configuration du débogage réseau d’un hôte de machine virtuelle.
Pour plus d’informations sur le débogage d’une machine virtuelle Hyper-V, consultez Configuration du débogage réseau d’une machine virtuelle - KDNET.
Activer KDNET sur un hôte Hyper-V exécutant des machines virtuelles avec une connectivité réseau externe
Parfois, une situation se produit, ce qui entraîne l’arrêt du fonctionnement de la mise en réseau dans les machines virtuelles :
Vous activez Hyper-V sur le PC, créez un commutateur réseau externe qui pointe vers une carte réseau physique sur la machine et configurez les machines virtuelles pour utiliser ce commutateur externe pour leur réseau.
Vous activez KDNET sur le système d’exploitation hôte Hyper-V à l’aide de la même carte réseau physique que celle vers laquelle pointe le commutateur réseau externe. Vous redémarrez l’hôte.
Toutes les machines virtuelles qui utilisent le commutateur externe précédemment configuré perdent leur connectivité réseau après le redémarrage.
Cette interruption est par conception. KDNET prend le contrôle exclusif de la carte réseau avec laquelle il est configuré. Le système d’exploitation ne charge pas le miniport NDIS natif pour cette carte réseau. Le commutateur de mise en réseau externe ne peut plus communiquer avec le pilote miniport NDIS natif et cesse de fonctionner. Pour contourner cette situation, procédez comme suit :
Ouvrez le Gestionnaire de commutateur virtuel à partir de Hyper-V Manager, puis sélectionnez votre commutateur virtuel existant. Changez le NIC réseau externe pour l’Adaptateur réseau de débogage du noyau Microsoft en le sélectionnant dans le menu déroulant puis en sélectionnant OK dans la boîte de dialogue du Gestionnaire de commutateurs virtuels.
Après avoir mis à jour votre carte réseau de commutateur virtuel, arrêtez et redémarrez vos machines virtuelles.
Lorsque vous désactivez le débogage KDNET, suivez la même procédure pour repointer le commutateur externe vers le miniport NDIS natif pour la carte réseau. Sinon, la connectivité de machine virtuelle est perdue lorsque vous redémarrez l’ordinateur une fois le débogage désactivé.
IPv6
Windows version 1809 ajoute la prise en charge de IPv6.
Pour utiliser IPv6 avec le débogueur, procédez comme suit :
Effectuez un test ping sur votre <debughostname> et notez l’adresse IPv6 qui est rapportée dans les lignes de réponse de sortie. Utilisez cette adresse IPv6 à la place de
x:y:z:p:d:q:r:n.Utilisez BCDEdit pour supprimer les valeurs d’adresse IP existantes dans dbgsettings.
bcdedit -deletevalue {dbgsettings} hostipDéfinissez l’adresse IPv6 de l’hôte. La
hostipv6=s:t:u:v:w:x:y:zchaîne ne peut contenir aucun espace. <Votreport> est le numéro de port réseau à utiliser pour cet ordinateur cible. < > YourKey est la clé de sécurité à quatre éléments. <b.d.f> sont les numéros de localisation de bus, de périphérique et de fonction pour le NIC que vous souhaitez utiliser pour KDNET.bcdedit /dbgsettings net hostipv6:s:t:u:v:w:x:y:z port:<YourPort> key:<YourKey> busparams:<b.d.f>Tapez cette commande pour confirmer que les dbgsettings sont correctement définis.
C:\> bcdedit /dbgsettings busparams 0.25.0 key 2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p debugtype NET hostipv6 2001:db8:0:0:ff00:0:42:8329 port 50010 dhcp Yes The operation completed successfully.Sur l’ordinateur hôte, utilisez la commande suivante pour démarrer le débogueur :
Windbg -k net:port=<yournetworkportnumber>,key=<key_output_from_kdnet>,target=::<YourIPv6Address>Lorsque le débogueur s’exécute sur l’ordinateur hôte et attend de se connecter, redémarrez l’ordinateur cible.
Le débogueur se connecte au débogueur hôte tôt pendant le démarrage. Vous pouvez voir que KDNET utilise une connexion IPv6, car les adresses IP signalées dans le message connecté sont des adresses IPv6 au lieu d’adresses IPv4.
Notes
- Chaque paramètre bcd du débogueur qui vous permet de spécifier le
hostipa un élémenthostipv6correspondant. Il y a trois paires.
| IPv4 | IPv6 | Utilisation |
|---|---|---|
| hostip | hostipv6 | Pour le débogage de démarrage et de noyau |
| targethostip | targethostipv6 | Spécifique au débogage du noyau |
| hypervisorhostip | hypervisorhostipv6 | Pour le débogage Hyper-V |
Si vous définissez l’adresse
hostipv6de style pour l’un de ces types de débogage, vous obtenez IPv6.Si vous définissez l’adresse
hostipde style pour l’un de ces types de débogage, vous obtenez IPv4.La cible ne supporte que IPv4 ou IPv6, pas les deux en même temps. La version du protocole IP utilisé est contrôlée par la machine cible dbgsettings. Si vous définissez
hostip, la cible utilise IPv4. Si vous définissezhostipv6, la cible utilise IPv6.Le débogueur hôte sélectionne normalement automatiquement l’utilisation d’IPv4 ou IPv6. Par défaut, le débogueur écoute à la fois sur une socket IPv4 et une socket IPv6 et se connecte automatiquement sur l’une ou l’autre à la machine cible.
Si vous souhaitez forcer l’utilisation d’IPv6 dans le débogueur sur l’hôte, mais que vous souhaitez que le débogueur écoute une connexion à partir de la cible, vous pouvez ajouter
target=::à la ligne de commande du débogueur.::est une adresse IPv6 de 0.Si vous souhaitez forcer le débogage IPv4 dans le débogueur sur l'hôte, mais que vous souhaitez que le débogueur écoute une connexion de la cible, vous pouvez ajouter
target=0.0.0.0à la ligne de commande du débogueur.0.0.0.0est une adresse IPv4 de 0.Si vous spécifiez
target=sur la ligne de commande du débogueur et utilisez un nom d’ordinateur, le débogueur convertit ce nom d’ordinateur en adresse IPv4 et une adresse IPv6. Le débogueur tente ensuite de se connecter sur les deux systèmes.Lorsque vous spécifiez
target=sur la ligne de commande du débogueur et utilisez une adresse IP, si l’adresse IP contient des caractères : le débogueur suppose qu’il s’agit d’une adresse IPv6 et force l’utilisation d’IPv6 pour cette connexion. Si l’adresse IP contient des . caractères, le débogueur suppose qu’il s’agit d’une adresse IPv4 et force l’utilisation d’IPv4 pour cette connexion.Si vous configurez IPv6 sur la cible et forcez l’utilisation d’IPv4 sur la ligne de commande du débogueur, vous n’obtenez pas de connexion.
Si vous configurez IPv4 sur la cible et forcez l’utilisation d’IPv6 sur la ligne de commande du débogueur, vous n’obtenez pas de connexion.
Contenu connexe
Configuration du débogage du noyau réseau KDNET automatiquement
Configuration du débogage réseau d’un hôte de machine virtuelle
Configuration du débogage réseau d’une machine virtuelle - KDNET
Adaptateurs NIC Ethernet pris en charge pour le débogage du noyau réseau dans Windows 10
Adaptateurs NIC Ethernet pris en charge pour le débogage du noyau réseau dans Windows 8.1