Dela via


Konfigurera Kernel-Mode felsökning av en virtuell dator manuellt med en virtuell COM-port

Felsökningsverktyg för Windows stöder kernelfelsökning av en virtuell dator. Den virtuella datorn kan finnas på samma fysiska dator som felsökningsprogrammet eller på en annan dator som är ansluten till samma nätverk. Det här avsnittet beskriver hur du konfigurerar felsökning av en virtuell dator manuellt med hjälp av en virtuell COM-port via KDCOM.

Att använda virtuella KDNET-nätverk är ett snabbare alternativ och rekommenderas. Mer information finns i Konfigurera nätverksfelsökning för en virtuell dator med KDNET.

Konfigurera den virtuella måldatorn

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

Viktig

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. Återaktivera dessa säkerhetsfunktioner när testningen är klar och hantera testdatorn på rätt sätt när säkerhetsfunktionerna är inaktiverade.

  1. I den virtuella datorn anger du följande kommandon i ett upphöjt kommandotolkfönster.

    bcdedit /debug på

    bcdedit /dbgsettings serial debugport:nbaudrate:115200

    där n är antalet com-portar på den virtuella datorn.

  2. På den virtuella datorn konfigurerar du COM-porten så att den mappas till ett namngivet rör. Felsökningsprogrammet ansluter via denna kanal. Mer information om hur du skapar det här röret finns i dokumentationen för den virtuella datorn.

  3. Starta felsökningsprogrammet i förhöjt läge, till exempel från en administratörskommandotolk. Felsökningsprogrammet måste köras i förhöjt läge när du felsöker en virtuell dator över ett seriellt rör. När felsökningsprogrammet är anslutet och körs startar du om den virtuella måldatorn.

Starta felsökningssessionen med WinDbg

Öppna WinDbg som administratör på värddatorn. Felsökningsprogrammet måste köras i förhöjt läge när du felsöker en virtuell dator över ett seriellt rör. På menyn Arkiv väljer du Kernel Debug. I dialogrutan Kernel-felsökning öppnar du fliken COM. Markera kryssrutan Pipe och markera kryssrutan Återansluta. Ange 115200 för Baud Rate. För Återställeranger du 0.

Om felsökningsprogrammet körs på samma dator som den virtuella datorn anger du följande för Port.

\\.\pipe\PipeName.

Om felsökningsprogrammet körs på en annan dator än den virtuella datorn anger du följande för Port.

\\ VMHost\pipe\PipeName

Välj OK.

Du kan också starta WinDbg på kommandoraden. Om felsökningsprogrammet körs på samma fysiska dator som den virtuella datorn anger du följande kommando i kommandotolken.

windbg -k com:pipe,port=\\.\pipe\PipeName,resets=0,reconnect

Om felsökningsprogrammet körs på en annan fysisk dator än den virtuella datorn anger du följande kommando i kommandotolken.

windbg -k com:pipe,port=\\VMHost\pipe\PipeName,resets=0,reconnect

Starta felsökningssessionen med KD

Om du vill felsöka en virtuell dator som körs på samma fysiska dator som felsökningsprogrammet anger du följande kommando i ett upphöjd kommandotolken.

kd -k com:pipe,port=\\.\pipe\PipeName,resets=0,reconnect

Om du vill felsöka en virtuell dator som körs på en annan fysisk dator än felsökningsprogrammet anger du följande kommando i kommandotolken.

kd -k com:pipe,port=\\VMHost\pipe\PipeName,resets=0,reconnect

Parametrar

VMHost
Anger namnet på den dator som den virtuella datorn körs på.

PipeName
Anger namnet på den rörledning som du skapade i den virtuella maskinen.

återställningar=0
Anger att ett obegränsat antal återställningspaket kan skickas till mål när värddatorn och målet synkroniseras. Använd parametern resets=0 för Microsoft Virtual PC och andra virtuella datorer vars rör släpper överskottsbyte. Använd inte den här parametern för VMware eller andra virtuella datorer vars rör inte släpper alla överflödiga byte.

återansluta
Gör att felsökaren automatiskt kopplar från och återansluter röret om ett läs-/skrivfel inträffar. Om felsökaren inte hittar det namngivna röret när felsökningsprogrammet startas, gör återanslutning parametern att felsökaren väntar på att ett rör med namnet PipeName ska visas. Använd återansluta för virtuella datorer och andra virtuella datorer som förstör och återskapar sina rör under en omstart av datorn. Använd inte den här parametern för VMware eller andra virtuella datorer som bevarar sina rör under en omstart av datorn.

Mer information om ytterligare kommandoradsalternativ finns i KD Command-Line Options or WinDbg Command-Line Options.

Virtuella datorer i generation 2

Som standard visas inte COM-portar på virtuella datorer i generation 2. Du kan lägga till COM-portar via PowerShell eller WMI. För att COM-portarna ska visas i Hyper-V Manager-konsolen måste de skapas med en sökväg.

Följ dessa steg för att aktivera kernelfelsökning med hjälp av en COM-port på en virtuell dator i generation 2:

  1. Inaktivera säker start genom att ange det här PowerShell-kommandot:

    Set-VMFirmware – VmnameVmName– EnableSecureBoot Off

    där VmName är namnet på den virtuella datorn.

  2. Lägg till en COM-port till den virtuella datorn genom att ange det här PowerShell-kommandot:

    Set-VMComPort –VMNameVmName1 \\.\pipe\PipeName

    Följande kommando konfigurerar till exempel den första COM-porten på den virtuella datorn TestVM för att ansluta till namngiven pipe TestPipe på den lokala datorn.

    Set-VMComPort –VMName TestVM 1 \\.\pipe\TestPipe

  3. När felsökningsprogrammet är anslutet och körs, stoppa och starta om den virtuella datorn från kallstart för att aktivera COM-portarna i den. De emulerade UART:erna är inte tillgängliga för felsökning om inte minst en faktiskt har konfigurerats med ett pipenamn och de kan inte läggas till medan systemet körs.

  4. Återaktivera säker start när du har uppdaterat konfigurationsändringarna.

Mer information om virtuella datorer i generation 2 finns i Översikt över virtuella datorer i generation 2.

Anmärkningar

Om måldatorn har slutat svara stoppas måldatorn fortfarande på grund av en tidigare kernelfelsökningsåtgärd, eller så använde du kommandoradsalternativet -b, och felsökaren bryter sig omedelbart in på måldatorn.

Annars fortsätter måldatorn att köras tills felsökaren beordrar den att gå sönder.

Felsöka problem med brandväggar och nätverksåtkomst

Felsökningsprogrammet (WinDbg eller KD) måste ha åtkomst via brandväggen. Detta kan även vara fallet för virtuella serieportar som stöds av nätverkskort.

Om du uppmanas av Windows att stänga av brandväggen när felsökningsprogrammet läses in markerar du alla tre rutorna.

Beroende på detaljerna för den virtuella datorn som används kan du behöva ändra nätverksinställningarna för dina virtuella datorer för att överbrygga dem till Microsoft Kernel Network Debug Adapter. Annars har de virtuella datorerna inte åtkomst till nätverket.

Windows-brandväggen

Du kan använda Kontrollpanelen för att tillåta åtkomst via Windows-brandväggen. Öppna Kontrollpanelen > System och säkerhet och välj Tillåt en app via Windows-brandväggen. I listan över program, hitta symbolisk debugger för Windows GUI och kerneldebugger för Windows. Använd kryssrutorna för att tillåta dessa två program via brandväggen. Starta om felsökningsprogrammet (WinDbg eller KD).

Virtuella datorer från tredje part

VMWare

Om du startar om den virtuella datorn med hjälp av VMWare-anläggningarna (till exempel återställningsknappen) avslutar du WinDbg och startar sedan om WinDbg för att fortsätta felsökningen. Vid felsökning av virtuella datorer förbrukar VMWare ofta 100% processorn.

Se även

Konfigurera nätverksfelsökning av en virtuell dator med KDNET

Konfigurera Kernel-Mode felsökning manuellt

Konfigurera nätverksfelsökning för en virtuell datorvärd