Delen via


Live Kernel-Mode Foutopsporing met WinDbg (klassiek)

Er zijn twee manieren waarop u WinDbg kunt gebruiken om een live kernelmodusfoutsessie te starten.

WinDbg menu

Wanneer WinDbg zich in de slaapstand bevindt, kunt u een kernelfoutopsporingssessie starten door kernelfoutopsporing te kiezen in het menu Bestand of door op Ctrl+K te drukken. Wanneer het dialoogvenster Kernelfoutopsporing wordt weergegeven, klikt u op het juiste tabblad: NET, COM, USB of Lokaal. Elk tabblad geeft een andere verbindingsmethode op.

Opdrachtprompt

In een opdrachtpromptvenster kunt u een foutopsporingssessie in de kernelmodus starten wanneer u WinDbg start. Voer een van de volgende opdrachten in:

windbg [-y SymbolPath] -k net:port=PortNumber,key=Key[,target=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][,opnieuw verbinden]

windbg [-y SymbolPath] -k com:modem

windbg [-y SymbolPath] -kl

windbg [-y SymbolPath] -k

Zie WinDbg Command-Line Options voor meer informatie.

Omgevingsvariabelen

Voor foutopsporing via een seriële poort (COM-poort) kunt u omgevingsvariabelen gebruiken om de verbindingsinstellingen op te geven.

Gebruik de volgende variabelen om een seriële verbinding op te geven.

set _NT_DEBUG_PORT = ComPort

set _NT_DEBUG_BAUD_RATE = BaudRate

Zie Kernel-Mode Omgevingsvariabelen voor meer informatie.

Parameterwaarden

SymbolPath
Een lijst met mappen waarin symboolbestanden zich bevinden. Directorio's in de lijst worden gescheiden door puntkomma's. Zie Symboolpad voor meer informatie.

PortNumber
Een poortnummer dat moet worden gebruikt voor netwerkopsporing. U kunt een willekeurig getal kiezen van 49152 tot en met 65535. Zie Een netwerkverbinding handmatig instellen voor meer informatie.

Key
De versleutelingssleutel die moet worden gebruikt voor netwerkopsporing. U wordt aangeraden een automatisch gegenereerde sleutel te gebruiken, die wordt geleverd door bcdedit wanneer u de doelcomputer configureert. Zie Een netwerkverbinding handmatig instellen voor meer informatie.

TargetIPAddress
Het IPv4-adres van de doelcomputer.

Wanneer het doel= IP-adres is opgegeven, zorgt dit ervoor dat het foutopsporingsprogramma een verbinding met de opgegeven doelcomputer initieert door een speciaal pakket naar het doel te verzenden, waardoor wordt geprobeerd verbinding te maken met dat foutopsporingsprogramma. Het foutopsporingsprogramma verzendt pakketten herhaaldelijk ongeveer elke halve seconde naar het doel en probeert verbinding te maken. Als de verbinding succesvol is, verbreekt het doelwit elke bestaande verbinding en communiceert alleen met dit exemplaar van de debugger. Hierdoor kunt u de controle over de foutopsporingssessie overnemen van een bestaande foutopsporingsverbinding.

Wanneer het doel is geconfigureerd met een host-IP-adres en het foutopsporingsprogramma wordt uitgevoerd op de computer met het geconfigureerde host-IP-adres, hoeft u de parameter voor het doel= IP-adres niet op te geven. Wanneer het doel is geconfigureerd met een HOST-IP-adres, worden AANBIEDING-pakketten om de drie seconden naar de host verzonden. Met de OFFER-pakketten kan het foutopsporingsprogramma verbinding maken met de host wanneer er geen doel= IP-adres is opgegeven.

Voor meer informatie over het configureren van het Host-IP-adres op het doel, zie KDNET-netwerk Kernel Foutopsporing Automatisch Instellen en KDNET-netwerk Kernel Foutopsporing Handmatig Instellen.

TargetMachineName
De computernaam van de doel-pc. Als u de computernaam wilt gebruiken, moet het DNS-systeem in het netwerk de computernaam hebben die is gekoppeld aan het IP-adres van de doel-pc.

USBString
Een USB-verbindingsreeks. Dit moet overeenkomen met de tekenreeks die is opgegeven met de opstartoptie /targetname. Zie Usb 3.0 xHCI-DBC kernelmodusfoutopsporing (KDUSB) instellen voor meer informatie.

ComPort
De naam van de COM-poort. Dit kan de notatie 'com2' of de notatie '\\.\com2' hebben, maar mag niet gewoon een getal zijn. Zie Een seriële verbinding handmatig instellen voor meer informatie.

BaudRate-
De baudrate. Dit kan 9600, 19200, 38400, 57600 of 115200 zijn.

SerialTcpIpPort
De TCP IP-doelpoort van de geëmuleerde seriële COM-poort.

SerialIPAddress
Het TCP-doel-IP-adres van de geëmuleerde seriële COM-poort.

VMHost
Bij het opsporen van fouten in een virtuele machine geeft VMHost de naam op van de fysieke computer waarop de virtuele machine wordt uitgevoerd. Als de virtuele machine op dezelfde computer draait als de kernel debugger zelf, gebruikt u één punt (.) voor VMHost. Zie Een verbinding met een virtuele machine instellen voor meer informatie.

PipeName
De naam van de pijp die door de virtuele machine is gemaakt voor de foutopsporingsverbinding.

resets=0
Hiermee geeft u op dat een onbeperkt aantal resetpakketten naar het doel kan worden verzonden wanneer de host en het doel worden gesynchroniseerd. Deze parameter is alleen nodig bij het opsporen van fouten in bepaalde soorten virtuele machines.

Opnieuw verbinden
Zorgt ervoor dat het foutopsporingsprogramma automatisch de verbinding met de pijp verbreekt en opnieuw verbinding maakt als er een lees-/schrijffout optreedt. Als de benoemde pijp niet wordt gevonden wanneer het foutopsporingsprogramma wordt gestart, zorgt de parameter voor opnieuw verbinden ervoor dat er wordt gewacht totdat een pijp van deze naam wordt weergegeven. Deze parameter is alleen nodig bij het opsporen van fouten in bepaalde soorten virtuele machines.

-kl
Zorgt ervoor dat het foutopsporingsprogramma lokale kernelmodusfoutopsporing uitvoert. Zie Local Kernel-Mode Debugging voor meer informatie.

Parameters van vorige versie

Belangrijk

Het transport van 1394 is beschikbaar voor gebruik in Windows 10, versie 1607 en eerder. Het is niet beschikbaar in latere versies van Windows. U moet uw projecten overbrengen naar andere transporten, zoals KDNET met behulp van Ethernet. Zie voor meer informatie over dat transport Automatisch instellen van KDNET-netwerk kernelfoutopsporing.

1394Kanaal
Het kanaalnummer 1394. Geldige kanaalnummers zijn een geheel getal tussen 0 en 62, inclusief. 1394Channel moet overeenkomen met het nummer dat door de doelcomputer wordt gebruikt, maar is niet afhankelijk van de fysieke 1394-poort die op de adapter is gekozen.

1394Protocol
Het verbindingsprotocol dat moet worden gebruikt voor de 1394-kernelverbinding. Dit kan bijna altijd worden weggelaten, omdat het foutopsporingsprogramma automatisch het juiste protocol kiest. Als u dit handmatig wilt instellen en de doelcomputer Windows XP gebruikt, moet 1394Protocol gelijk zijn aan "channel". Als op de doelcomputer Windows Server 2003 of hoger wordt uitgevoerd, moet 1394Protocol gelijk zijn aan 'instantie'. Als dit wordt weggelaten, wordt het foutopsporingsprogramma standaard ingesteld op het protocol dat geschikt is voor de huidige doelcomputer. Dit kan alleen worden opgegeven via de opdrachtregel of de omgevingsvariabelen, niet via de grafische WinDbg-interface.

Voorbeelden

Het volgende batchbestand kan worden gebruikt om een foutopsporingssessie in te stellen en te starten via een COM-poortverbinding.

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

De volgende opdrachtregels kunnen worden gebruikt om WinDbg zonder omgevingsvariabelen te starten.

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

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

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

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

Zie ook

WinDbg Command-Line-Opties

omgevingsvariabelenKernel-Mode