Verwenden der Treiberüberprüfung, um einen Kernel-Mode Speicherverlust zu finden
Driver Verifier bestimmt, ob ein Kernelmodustreiber Arbeitsspeicherverlusten angibt.
Die Poolnachverfolgungsfunktion von Driver Verifier überwacht die Speicherbelegungen, die von einem angegebenen Treiber vorgenommen werden. Zum Zeitpunkt des Entladens des Treibers überprüft driver verifier, ob alle vom Treiber vorgenommenen Zuordnungen freigegeben wurden. Wenn einige der Zuordnungen des Treibers nicht freigegeben wurden, wird eine Fehlerüberprüfung durchgeführt, und die Parameter der Fehlerüberprüfung geben die Art des Problems an.
Während dieses Feature aktiv ist, verwenden Sie die grafische Benutzeroberfläche des Treiberüberprüfungs-Managers, um Statistiken zur Poolzuordnung zu überwachen. Wenn ein Kerneldebugger an den Treiber angefügt ist, verwenden Sie die Erweiterung !verifier 0x3 , um Zuordnungsstatistiken anzuzeigen.
Wenn der Treiber den direkten Speicherzugriff (Direct Memory Access, DMA) verwendet, ist die DMA-Überprüfungsfunktion von Driver Verifier auch hilfreich, um Speicherverluste zu finden. DMA-Überprüfungstests für eine Reihe von häufigen Missbrauchsvorgängen von DMA-Routinen, einschließlich Fehlern beim Freigeben von allgemeinen Puffern und anderen Fehlern, die zu Speicherverlusten führen können. Wenn ein Kerneldebugger angefügt ist, während diese Option aktiv ist, verwenden Sie die Erweiterung !dma , um Zuordnungsstatistiken anzuzeigen.
Informationen zur Driver Verifier finden Sie unter Driver Verifier in der Dokumentation zum Windows Driver Kit (WDK).