Delen via


Doelstellingen

De foutopsporingsprogramma-engine ondersteunt het opsporen van fouten in verschillende typen doelen, gebruikersmodus- en kernelmodusdoelen , livedoelen en crashdumpbestanden en lokale en externe doelen. Er zijn verschillende methoden voor het verbinden van de engine met deze verschillende soorten doelen.

Crashdump-bestanden

Zowel gebruikersmodus- als kernelmodus crashdumpbestanden worden geopend met OpenDumpFile. De engine kan ook dumpbestanden maken van een doel met WriteDumpFile2.

Live, User-Mode Doelen

De debugger-engine kan zowel gebruikersmodusprocessen creƫren als zich ermee verbinden.

Het maken van een proces wordt uitgevoerd door een opdrachtregel en eventueel een eerste map en omgeving op te geven voor het nieuwe proces. De engine kan vervolgens verbinding maken met het nieuwe proces of het nieuwe proces onderbroken houden terwijl het verbinding maakt met een ander proces. Wanneer u bijvoorbeeld fouten opspoort in een toepassing die bestaat uit zowel een client als een server, is het mogelijk om een client in een onderbroken status te maken en te koppelen aan een al actieve server, zodat serveronderbrekingspunten kunnen worden ingesteld voordat de client serverbewerkingen uitvoert en veroorzaakt.

Bij het loskoppelen van een proces kan de engine het proces optioneel laten draaien, het proces beƫindigen of het proces afbreken (het wordt onderbroken totdat een ander foutopsporingsprogramma eraan wordt gekoppeld of het wordt gedood).

De engine kan worden geraadpleegd voor informatie over alle processen in de gebruikersmodus die op de computer worden uitgevoerd, inclusief de proces-id en de naam van het uitvoerbare bestand dat wordt gebruikt om het proces te starten. Deze informatie kan worden gebruikt om een proces voor foutopsporing te vinden.

Live, Kernel-Mode Doelen

De methode AttachKernel verbindt de foutopsporingsprogramma-engine met een Windows-kernel.

Externe doelen

Wanneer u de foutopsporingsprogramma-engine gebruikt om op afstand fouten op te sporen, zijn er mogelijk twee extra stappen:

  1. Maak verbinding met de hostengine. Als de hostengine niet het lokale engine-exemplaar is, gebruikt u DebugConnect om een clientobject te maken dat is verbonden met de hostengine.

  2. Verbind de host-engine met de processerver of de kernelverbindingsserver. Als de host-engine niet rechtstreeks verbinding maakt met het doel, moet deze verbinding maken met een processerver of kernelverbindingsserver die dat wel doet.

Nu kan de client de host-engine instrueren een doel via de processerver of de kernelverbindingsserver te verkrijgen.

Doelen verkrijgen

Bij het verkrijgen van een doel is de verwerving van het doel pas voltooid als het doel een gebeurtenis genereert. Normaal gesproken betekent dit dat eerst een methode wordt aangeroepen om het foutopsporingsprogramma aan het doel toe te voegen en vervolgens WaitForEvent aan te roepen om het doel een gebeurtenis te laten genereren. Dit geldt nog steeds wanneer het doel een crashdumpbestand is, omdat deze altijd een gebeurtenis opslaan, meestal de gebeurtenis die ervoor zorgde dat het dumpbestand werd gemaakt.

aanvullende informatie

Zie Verbinding maken met doelen voor meer informatie over koppelen aan doelen.