Dela via


API:er för programmeringstillägg för felsökningsprogram

Det här avsnittet innehåller:

Översikt över felsökningsmotorn

Använda API:et för felsökningsmotorn

Skriva DbgEng-tillägg

EngExtCpp-tillägg

Skriva WdbgExts-tillägg

anpassa felsökningsprogrammets utdata med DML-

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

Utveckla utökningsmoduler för KDNET-transport

Den här dokumentationen beskriver hur du använder gränssnitt som de som tillhandahålls av felsökningsmotorn för att skriva tillägg som körs 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.

felsökningsmotor

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

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.

Mer information finns i Översikt över felsökningsmotorn och Använda API:et för felsökningsmotorn.

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.

    Mer information finns i Skriva DbgEng-tillägg.

  • 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. Mer information finns i Skriva WdbgExts-tillägg.

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 Visual Studio.

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 tillägg för anpassade analysfelsö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 !analyserar körningar letar den upp, läser in och kör lämpliga plugin-program för analystillägg. Mer information finns i Skriva tillägg för anpassade analysfelsökare

anpassa felsökningsprogramutdata med hjälp av 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.

Utveckla utökningsmoduler för KDNET-transport

KDNET-transporten kan utökas så att den körs på valfri maskinvara med hjälp av en separat DLL för utökningsmodulen för maskinvarudrivrutiner. Utökningsmoduler för KDNET-transport utvecklas av nätverkskortleverantörer för att lägga till stöd för kernelfelsökning till specifika nätverkskort.

KDNET är en kernel-felsökningstransport som möjliggör kernelfelsökning av fönster över ett nätverk. Den är utformad så att maskinvarustödlagret är inbyggt i en separat modul från skiktet för bearbetning av nätverkspaket och kernelgränssnitt. Det här stödskiktet för maskinvarudrivrutiner kallas för en KDNET-utökningsmodul. Mer information finns i Utveckla utökningsmoduler för KDNET-transport.