Dela via


Introduktion till felsökningsmotor

Den här dokumentationen beskriver hur du använder felsökningsmotorn och hur du skriver tillägg som ska köras i WinDbg, KD, CDB och NTSD. Dessa felsökningstillägg kan användas när du utför felsökning i användarläge eller kernelläge i Microsoft Windows.

Felsökningsmotor

Felsökningsmotorn innehåller ett gränssnitt för att undersöka och manipulera felsökningsmål i användarläge och kernelläge i Microsoft Windows.

Felsökningsmotorn kan hämta mål, ange brytpunkter, övervaka händelser, frågesymboler, läsa och skriva minne samt kontrollera trådar och processer i ett mål.

Du kan använda felsökningsmotorn för att skriva både bibliotek för felsökningstillägg och fristående program. Sådana program är felsökningsmotorprogram. Ett felsökningsmotorprogram som använder alla funktioner i felsökningsmotorn är ett felsökningsprogram. WinDbg, CDB, NTSD och KD är till exempel felsökningsprogram. felsökningsmotorn innehåller kärnan i deras funktioner.

API:et för felsökningsmotorn anges av prototyperna i huvudfilen dbgeng.h.

Ofullständig dokumentation

Detta är ett preliminärt dokument och är för närvarande ofullständigt.

Många begrepp som rör felsökarna och felsökningsmotorn som ännu inte har dokumenterats här finns i avsnittet Felsökningstekniker i den här dokumentationen.

Om du vill hämta några av de odokumenterade funktionerna i API:et för felsökningsmotorn använder du metoden Execute för att köra enskilda felsökningskommandon.

tillägg

Du kan skapa egna felsökningskommandon genom att skriva och skapa en tilläggs-DLL. Du kanske till exempel vill skriva ett tilläggskommando för att visa en komplex datastruktur.

Det finns tre olika typer av DLL:er för felsökningstillägg:

  • DLL:er för DbgEng-tillägget. Dessa baseras på prototyperna i huvudfilen dbgeng.h. Varje DLL av den här typen kan exportera DbgEng-tilläggskommandon. Dessa tilläggskommandon använder API:et för felsökningsmotorn och kan även använda API:et WdbgExts.

  • DLL:er för EngExtCpp-tillägget. Dessa baseras på prototyperna i huvudfilerna engextcpp.h och dbgeng.h. Varje DLL av den här typen kan exportera DbgEng-tilläggskommandon. Dessa tilläggskommandon använder både API:et för felsökningsmotorn och Ramverket för EngExtCpp-tillägget och kan också använda WdbgExts-API:et.

  • DLL:er för WdbgExts-tillägget. Dessa baseras på prototyperna i rubrikfilen wdbgexts.h. Varje DLL av den här typen exporterar ett eller flera WdbgExts-tilläggskommandon. Dessa tilläggskommandon använder endast WdbgExts-API:et.

DbgEng-API:et kan användas för att skapa tillägg eller fristående program. WdbgExts-API:et innehåller en delmängd av funktionerna i API:et för felsökningsmotorn och kan endast användas av tillägg.

Alla felsökningstillägg ska kompileras och skapas med hjälp av verktyget Build. Verktyget Build ingår i Windows Driver Kit (WDK).

Tilläggskodexempel installeras som en del av felsökningsverktygen för Windows-paketet om du utför en anpassad installation och väljer komponenten SDK och alla dess underkomponenter. De finns i underkatalogen sdk\samples i installationskatalogen Felsökningsverktyg för Windows.

Det enklaste sättet att skriva nya tillägg för felsökningsprogram är att studera exempeltilläggen. Varje exempeltillägg innehåller makefile- och källfiler för användning med verktyget Build. Båda typerna av tillägg representeras i exemplen.

skriva anpassade analystillägg för felsökare

Du kan utöka funktionerna i kommandot !analyze debugger genom att skriva ett plugin-program för analystillägget. Genom att tillhandahålla ett plugin-program för analystillägg kan du delta i analysen av en buggkontroll eller ett undantag på ett sätt som är specifikt för din egen komponent eller ditt eget program. När du skriver ett plugin-program för analystillägg skriver du även en metadatafil som beskriver de situationer där du vill att plugin-programmet ska anropas. När !analyze körs, letar den upp, läser in och kör lämpliga analysplugin-program. Mer information finns i Skriva tillägg för anpassade analysfelsökare

Anpassa felsökningsutdata med DML

Du kan anpassa felsökningsutdata med hjälp av DML. Mer information finns i Anpassa felsökningsprogramutdata med DML-.

Använda JavaScript för att utöka funktionerna i felsökningsprogrammet

Använd JavaScript för att skapa skript som förstår felsökningsobjekt och utökar och anpassar funktionerna i felsökningsprogrammet. JavaScript-leverantörer överbryggar ett skriptspråk till felsökarens interna objektmodell. JavaScript-skriptprovidern för felsökning tillåter användning av JavaScript med felsökningsprogrammet. Mer information finns i JavaScript Debugger Scripting.