Exemples de code d’extensibilité KDSerial

Les outils de débogage pour Windows prennent en charge l’extension du transport série KDNET. Les modules d’extensibilité de transport KDNET sont développés par les fournisseurs de matériel pour ajouter la prise en charge du débogage du noyau à un matériel spécifique qui n’est pas déjà pris en charge.

En règle générale, les connexions série pour le débogage sont plus lentes. Par conséquent, l’utilisation du KDNET sur une carte Ethernet est préférable, quand tout est possible.

Exemples de code d’extensibilité KDSerial

Les trois exemples de code suivants sont disponibles dans le répertoire d’installation WDK et montrent l’utilisation des extensions de transport KDNET Serial et KDSerial.

Exemple KDNET Serial 16550

L’interface série KDNET montre l’utilisation du matériel d’interface série 16550. Il se trouve dans ce répertoire.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdnet\serial\16550

Lors du test de l’exemple de code KDNET Serial 16550, le câble série doit être câblé en tant que câble NULL-MODEM RS232, où les lignes de Tx-Rx sont croisées.

Exemple de KDNET Serial SIIG

L’exemple de siig implémente KDNET via une connexion série avec le contrôle matériel RS-232. Il se trouve dans ce répertoire.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdnet\serial\siig

Lors du test de l’exemple de code série Siig KDNET, le câble série doit être câblé comme un câble RS-232 droit.

Exemple KDSerial

Cela montre l’utilisation du transport KDSerial plus ancien. Le transport KDNET sur série est préféré.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdserial

Lors du test de l’exemple de code KDSerial, le câble série doit être câblé en tant que câble NULL-MODEM RS232, où les lignes de Tx-Rx sont croisées.

Étapes pour déployer le transport de débogage du noyau en série de test

  1. Charger et compiler le projet (sorties kdserial.dll)

  2. Renommer kdserial.dll en kdcom.dll

  3. Copiez kdcom.dll sur C:\windows\system32\kdcom.dll l’ordinateur cible (recommandé de créer une sauvegarde de kdcom.dll d’origine avant de le remplacer)

  4. Exécuter bcdedit /dbgsettings serial debugport:<port> baudrate:<rate> sur la cible

  5. Exécuter bcdedit /debug on sur le système cible

  6. Exécuter bcdedit /bootdebug on sur le système cible

  7. Exécuter bcdedit /testsigning yes sur la cible

  8. Redémarrez la cible et connectez-vous au débogueur de démarrage. Cette étape est requise pour que la nouvelle kdcom.dll soit chargée sans signature Microsoft valide. Si le débogueur de démarrage n’est pas activé et connecté lorsque kdcom.dll est chargé, winload ne le charge pas.

REMARQUE : le kdcom.dll personnalisé ne sera pas utilisé pour le transport du débogueur de démarrage

  1. Continuez à travers winload et connectez-vous au débogueur du noyau via le transport personnalisé kdcom.dll.

Voir aussi

Comment développer des modules d’extensibilité KDNET

Configuration automatique du débogage du noyau réseau KDNET

Configuration manuelle du débogage du noyau réseau KDNET

Configuration manuelle du débogage en mode noyau