Delen via


Foutopsporingsomgevingen

Er zijn zes beschikbare foutopsporingsomgevingen:

  • WinDbg
  • WinDbg (klassiek)
  • Kernel Debugger (KD)
  • NTKD
  • Console Debugger (CDB)
  • NT Symbol Debugger (NTSD)

In de volgende secties worden de foutopsporingsomgevingen beschreven.

WinDbg

nl-NL: WinDbg is de nieuwste versie van WinDbg met moderne visuals, snellere vensters en een volwaardige scriptervaring, gebouwd met het uitbreidbare foutopsporingsgegevensmodel centraal in de schijnwerpers. WinDbg gebruikt dezelfde onderliggende engine als WinDbg (klassiek), dus alle opdrachten, extensies en werkstromen die u gewend bent, werken nog steeds zoals voorheen.

Zie WinDbg-functies voor meer informatie

WinDbg (klassiek)

Microsoft Windows Debugger WinDbg (klassiek) is een Windows-foutopsporingsprogramma dat geschikt is voor foutopsporing in zowel de gebruikersmodus als kernelmodus. WinDbg biedt foutopsporing voor de Windows-kernel, kernelmodusstuurprogramma's en systeemservices, evenals toepassingen en stuurprogramma's in de gebruikersmodus.

WinDbg maakt gebruik van de Visual Studio-debugsymboolformaten voor foutopsporing op bronniveau. Het heeft toegang tot elk symbool of elke variabele vanuit een module met PDB-symboolbestanden en heeft toegang tot de naam van elke openbare functie die wordt weergegeven door modules die zijn gecompileerd met COFF-symboolbestanden (zoals Windows .dbg-bestanden).

WinDbg kan broncode bekijken, onderbrekingspunten instellen, variabelen weergeven (inclusief C++-objecten), stacktraceringen en geheugen. Met het Foutopsporingsprogramma-opdrachtvenster kan de gebruiker een groot aantal opdrachten uitvoeren.

Voor foutopsporing in kernelmodus vereist WinDbg doorgaans twee computers (de hostcomputer en de doelcomputer). WinDbg ondersteunt ook verschillende opties voor externe foutopsporing voor zowel gebruikersmodus- als kernelmodusdoelen.

WinDbg is een grafische interface tegenhanger voor CDB/NTSD en KD/NTKD.

KD

Microsoft Kernel Debugger (KD) is een consoleprogramma op basis van tekens waarmee uitgebreide analyse van activiteit in de kernelmodus op alle NT-besturingssystemen mogelijk is. U kunt KD gebruiken om fouten op te sporen in onderdelen en stuurprogramma's in de kernelmodus of om het gedrag van het besturingssysteem zelf te bewaken. KD biedt ook ondersteuning voor foutopsporing voor meerdere processors.

KD wordt doorgaans niet uitgevoerd op de computer waarop fouten worden opgespoord. U hebt twee computers (de hostcomputer en de doelcomputer) nodig voor foutopsporing in de kernelmodus.

NTKD

Er is een variatie van de KD-debugger met de naam NTKD. Het is op elke manier identiek aan KD, behalve dat er een nieuw tekstvenster wordt weergegeven wanneer het wordt gestart, terwijl KD het opdrachtpromptvenster overschrijft van waaruit het is aangeroepen.

CDB

Microsoft Console Debugger (CDB) is een tekstgebaseerd consoleprogramma waarmee geheugen en structuren in de Windows-gebruikersmodus op laag niveau kunnen worden geanalyseerd. De naam Console Debugger wordt gebruikt om aan te geven dat CDB is geclassificeerd als een consoletoepassing; het impliceert niet dat de doeltoepassing een consoletoepassing moet zijn. CDB is zelfs volledig in staat om fouten op te sporen in zowel consoletoepassingen als grafische Windows-programma's.

CDB is uiterst krachtig voor het opsporen van fouten in een programma dat momenteel wordt uitgevoerd of onlangs is gecrasht (live-analyse), maar eenvoudig in te stellen. Het kan worden gebruikt om het gedrag van een werkende toepassing te onderzoeken. In het geval van een falende applicatie kan CDB worden gebruikt om een stacktrace te verkrijgen of de schuldige parameters te bekijken. Het werkt goed in een netwerk (met behulp van een RAS-server), omdat het op tekens is gebaseerd.

Met CDB kunt u programmacode weergeven en uitvoeren, onderbrekingspunten instellen en waarden in het geheugen onderzoeken en wijzigen. CDB kan binaire code analyseren door deze te demonteren en assembly-instructies weer te geven. De broncode kan ook rechtstreeks worden geanalyseerd.

Omdat CDB toegang heeft tot geheugenlocaties via adressen of globale symbolen, kunt u verwijzen naar gegevens en instructies op naam in plaats van op adres, zodat u eenvoudig specifieke secties met code kunt vinden en fouten kunt opsporen. CDB biedt ondersteuning voor het opsporen van fouten in meerdere threads en processen. Het is uitbreidbaar en kan zowel gepaginad als niet-paginageheugen lezen en schrijven.

Als de doeltoepassing zelf een consoletoepassing is, deelt het doel het consolevenster met CDB. Als u een afzonderlijk consolevenster voor een doelconsoletoepassing wilt maken, gebruikt u de opdrachtregeloptie -2 .

NTSD

Er is een variatie van het CDB-foutopsporingsprogramma met de naam Microsoft NT Symbol Debugger (NTSD). Het is op elke manier identiek aan CDB, behalve dat er een nieuw tekstvenster wordt weergegeven wanneer het wordt gestart, terwijl CDB het opdrachtpromptvenster over neemt van waaruit het is aangeroepen.

Omdat de startopdracht ook kan worden gebruikt om een nieuw consolevenster te creëren, geven de volgende twee constructies dezelfde resultaten:

start cdb parameters
ntsd parameters

Het is mogelijk om de invoer en uitvoer van NTSD (of CDB) om te leiden, zodat deze kan worden beheerd vanuit een kernelfoutopsporingsprogramma (Visual Studio, WinDbg of KD). Als deze techniek wordt gebruikt met NTSD, wordt er helemaal geen consolevenster weergegeven. Het beheren van NTSD vanuit het kernelfoutopsporingsprogramma is daarom vooral nuttig omdat het resulteert in een uiterst lichtgewicht foutopsporingsprogramma dat vrijwel geen last heeft op de computer die de doeltoepassing bevat. Deze combinatie kan worden gebruikt voor het opsporen van fouten in systeemprocessen, afsluiten en de latere fasen van opstarten. Zie Het User-Mode foutopsporingsprogramma beheren vanuit het kernelfoutopsporingsprogramma voor meer informatie.

Zie ook

Windows foutopsporing

WinDbg-functies