Konfigurera USB KDNET EEM Kernel-Mode felsökning (KDNET-EEM-USB)

Felsökningsverktyg för Windows stöder kernelfelsökning via en USB-kabel med Ethernet-emuleringsläge (EEM) Det här avsnittet beskriver hur du konfigurerar USB EEM med hjälp av verktyget kdnet.exe.

Den dator som kör felsökningsprogrammet kallas värddatoroch datorn som debuggas kallas måldator.

Kernel-Mode USB EEM-enhetskrav

Följande krävs:

  • På måldatorn är en Synopsys USB 3.0-styrenhet ansluten till en USB-typ C-port.

  • På värddatorn krävs en externt tillgänglig USB 3.0-port.

  • Windows 10 Oktober 2020 Update (20H2) eller senare

KDNET-EEM-USB transport kan konfigureras för:

  • PCI-felsökningsenhet. Dessa felsökningsenheter anges med dbgsettings::busparams=seg.bus.dev.fun.
  • ACPI-DBG2 Felsökningsenheter för tabell. Dessa felsökningsenheter anges med hjälp av dbgsettings::busparams=1|2|3, där 1|2|3 pekar mot en specifik posten i ACPI DBG2-Table matrisen som innehåller konfigurationen av felsökningsenheten.

Kabelkrav

  • En STANDARD-USB 3.0 Typ C till typ A-kabel krävs för att ansluta värdtypen A-porten till måltypen C-porten.

Binära transportfiler

Binärfiler kd_0C_8086.dll för x64 och kd_8003_5143.dll för ARM används för att stödja KDNET-EEM-USB felsökningstransport.

Bekräfta att en USB-styrenhet som stöds är tillgänglig på målet

Starta Enhetshanteraren på måldatorn.

Bekräfta att Synopsys USB 3.0 Dual-Role Controller visas.

Skärmbild av Enhetshanteraren som visar USB-noden med Synopsys USB 3.0 Dual-Role Controller markerad.

Fastställa felsökningsporten när flera portar är tillgängliga

När du har identifierat en port som stöder felsökning är nästa steg att hitta den fysiska USB-anslutningsappen som är associerad med den porten.

På Surface Pro X använder du till exempel den nedre av de två USB C-portarna för KDNET EEM-felsökning.

Foto av sidan av en Surface Pro X med två USB-C portar.

Använd kdnet.exe för att bekräfta enhetens kompatibilitet och visa värdet för busparams

Intel/AMD 64-enheter

BCDEDIT-felsökningsalternativen lagras i BCD-arkivet (Boot Configuration Data). Mer information finns i BCDEdit /debug.

ARM-enheter

ARM-enheter använder ACPI DBG2-tabellen för att konfigurera felsökningsprogrammet, där busparams pekar på DBG2-tabellposten. För att ange den felsökningsport som ska användas, används busparm. Vanligtvis används bara den första busparam och det är antingen 0 eller 1 beroende på enheten. Vanligtvis använder enheter inte busparams=0, eftersom 0 DBG2-tabellposten normalt är reserverad för seriell enhet COM. Mer information om TABELLEN ACPI DBG2 finns i Microsoft Debug Port Table 2 (DBG2).

Använd kdnet.exe för att konfigurera KDNET EEM USB

Använd verktyget kdnet.exe för att visa parameterinformationen för kontrollanter som stöder KDNET-EEM-USB transportfelsökning.

  1. Bekräfta att Windows Felsökningsverktyg är installerade på värd- och målsystemet. Information om hur du laddar ned och installerar felsökningsverktygen finns i Felsökningsverktyg för Windows.

  2. Leta upp verktyget kdnet.exe. Som standard finns filerna här.

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

  3. Öppna ett kommandotolksfönster som administratör på måldatorn. Ange det här kommandot för att kontrollera att måldatorn har ett nätverkskort som stöds och för att visa busparams-värdet.

    C:\KDNET>kdnet.exe
    
    Network debugging is not supported on any of the NICs in this machine.
    KDNET supports NICs from Intel, Broadcom, Realtek, Atheros, Emulex, Mellanox
    and Cisco.
    
    Network debugging is supported on the following USB controllers:
    busparams=1, Device-mode USB controller with Vendor ID: 5143 (Default)
    busparams=2, Device-mode USB controller with Vendor ID: 5143
    busparams=3, Device-mode USB controller with Vendor ID: 5143
    busparams=4, Device-mode USB controller with Vendor ID: 5143
    
    This Microsoft hypervisor supports using KDNET in guest VMs.
    
  4. Eftersom utdata från kdnet.exe anger att en USB-styrenhet som stöds med ett busparams-värde på 1 är tillgängligt kan vi fortsätta.

Konfigurera måldatorn

Använd verktyget kdnet.exe för att konfigurera felsökningsinställningarna på måldatorn genom att följa dessa steg.

Viktigt!

Innan du använder bcdedit för att ändra startinformationen kan du tillfälligt behöva pausa Windows-säkerhetsfunktioner som BitLocker och Säker start på testdatorn. Du kan återaktivera Bit Locker och Säker start när du är klar med BCDEdit för att uppdatera startinformationen. Hantera testdatorn på rätt sätt när säkerhetsfunktionerna är inaktiverade.

  1. Använd kommandot som visas nedan för att ange busparams-värdet, IP-adressen och porten för värdsystemet och genererade en unik anslutningsnyckel. IP-adressen 169.254.255.255 används för alla USB EMM-anslutningar.

  2. Välj en unik portadress för varje mål-/värdpar som du arbetar med inom det rekommenderade intervallet 50000-50039. 50005 visas i exemplet.


   C:\>kdnet.exe 169.254.255.255 50005

   Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
   Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
  1. Kopiera den returnerade nyckeln till en anteckningsbok .txt-fil. I exemplet som visas har den genererade nyckeln värdet:

    2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p

  2. Använd BCDEdit-kommandot för att kontrollera att parametrarna är som förväntat. Mer information finns i BCDEdit /dbgsettings

   C:\>bcdedit /dbgsettings

   busparams               1
   key                     2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
   debugtype               NET
   hostip                  169.254.255.255
   port                    50005
   dhcp                    No
   The operation completed successfully.

Inaktivera brandväggen på värden

Inaktivera brandväggen för felsökningsprogrammet på värden.

Ansluta WinDbg till målet för kernel-felsökning

Öppna WinDbg på värddatorn. På menyn Arkiv väljer du Kernel Debug. Öppna fliken Net i dialogrutan Kernel-felsökning. Klistra in portnumret och nyckeln som du sparade till i anteckningarna .txt filen tidigare. Välj OK.

Du kan också starta en WinDbg-session genom att öppna ett kommandotolkfönster och ange följande kommando, där är porten du valde ovan, och är nyckeln som returnerades av kdnet.exe ovan. Klistra in nyckeln i som du sparade i anteckningarna .txt filen tidigare.

windbg -k -d net:port=<YourDebugPort>,key=<YourKey>

Starta om måldatorn

När felsökningsprogrammet är anslutet startar du om måldatorn. Ett sätt att starta om datorn, är att använda kommandot shutdown -r -t 0 från en administratörs kommandoprompt.

När måldatorn har startats om bör felsökningsprogrammet ansluta automatiskt.

Felsökning

Mål för felsökning

Bekräfta att Windows KDNET-USB-EMM nätverkskort finns under Nätverkskort i Windows Device Manager.

Enhetsegenskaperna visar när kontrollanten är reserverad för användning av Windows kernel-felsökningsprogrammet.

Skärmbild av Enhetshanteraren som visar USB-noden med Synopsys USB 3.0 Dual-Role Controller som anger att styrenheten är reserverad.

Felsökning av värd

Bekräfta att Windows KDNET-USB-EMM nätverkskort finns under Nätverkskort i Windows Device Manager.

På värden visas anslutningen KDNET-EEM med USB typ A-porten.

Skärmbild av Enhetshanteraren som visar nätverksnoden med en Windows KDNET-USB-EEM nätverkskortpost.

Intel PCI – Anslutningen försöker skicka meddelanden på felsökningskonsolens fönster och kan inte bryta sig in i målet – SkipPciProbeDebugDevice

Om du stöter på följande meddelande i KDNET-felsökningskonsolen, inte kan initiera ett inbrott i målet eller uppleva problem med vissa kommandon (t.ex. kdfiles), kan det bero på att KDNET tar emot ett pingpaket utan sekvens."

... Retry sending the same data packet for 128 times.

The transport connection between host kernel debugger and target Windows seems lost.
please try resync with target, recycle the host debugger, or reboot the target Windows.

Det här problemet kan inträffa eftersom pci.sys drivrutinen felaktigt söker av felsökningsenheten. Om du vill eliminera felen skapar du följande registerpost på TARGET-enheten i en kommandotolk för administratör.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\SERVICES\kdnet /v SkipPciProbeDebugDevice /t REG_DWORD /d 1 /f

Starta sedan om måldatorn.

shutdown /r /t 0

När enheten startas om bör felen försvinna och kommandona bör fungera som förväntat.

Se även

Konfigurera KDNET-nätverkskärnfelsökning automatiskt

Konfigurera KDNET-nätverkskärnfelsökning manuellt

Konfigurera USB 3.0 xHCI-DBC kärnläge felavhjälpning (KDUSB)

Konfigurera USB KDNET-kernellägesfelsökning (KDNET-USB)