Utilisation du vérificateur de pilote pour rechercher une fuite de mémoire Kernel-Mode
Le vérificateur de pilotes détermine si un pilote en mode noyau fuit la mémoire.
La fonctionnalité de suivi de pool de Driver Verifier surveille les allocations de mémoire effectuées par un pilote spécifié. Au moment où le pilote est déchargé, driver verifier vérifie que toutes les allocations effectuées par le pilote ont été libérées. Si certaines allocations du pilote n’ont pas été libérées, un bogue case activée est émis et les paramètres du bogue case activée indiquent la nature du problème.
Tant que cette fonctionnalité est active, utilisez l’interface graphique Driver Verifier Manager pour surveiller les statistiques d’allocation de pool. Si un débogueur de noyau est attaché au pilote, utilisez l’extension !verifier 0x3 pour afficher les statistiques d’allocation.
Si le pilote utilise l’accès direct à la mémoire (DMA), la fonctionnalité vérification DMA du vérificateur de pilotes est également utile pour rechercher les fuites de mémoire. Vérification DMA teste un certain nombre d’utilisations courantes des routines DMA, y compris l’échec de la libération des mémoires tampons courantes et d’autres erreurs qui peuvent entraîner des fuites de mémoire. Si un débogueur de noyau est attaché alors que cette option est active, utilisez l’extension !dma pour afficher les statistiques d’allocation.
Pour plus d’informations sur Driver Verifier, consultez Driver Verifier dans la documentation du Kit de pilotes Windows (WDK).