Condividi tramite


Determinazione del motivo per cui un driver UMDF utilizza una quantità eccessiva di memoria

Avvertimento

UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2.

Gli esempi di UMDF 1 archiviati sono disponibili nell'aggiornamento degli esempi di driver di Windows 11, versione 22H2 - maggio 2022.

Per altre informazioni, vedere Introduzione a UMDF.

Questo argomento descrive come usare le estensioni del debugger Wudfext.dll in combinazione con un driver UMDF (User-Mode Driver Framework) versione 1 per determinare il motivo per cui un driver UMDF utilizza una quantità eccessiva di memoria.

A partire dalla versione 2 di UMDF, è consigliabile usare invece le estensioni del debugger Wdfkd.dll. Per altre info, vedi Estensioni di Windows Driver Framework (Wdfkd.dll).

Per analizzare l'utilizzo della memoria, seguire questa procedura:

  1. Per visualizzare l'oggetto in sospeso nell'albero degli oggetti, utilizza l'estensione del debugger UMDF !wudfext.wudfobject.

    L'estensione !wudfext.wudfobject visualizza informazioni su un oggetto WDF, che include le relazioni padre e figlio. Se si imposta il bit 0 del parametro Flags su 1 (0x01), !wudfext.wudfobject esegue un dump ricorsivo dell'albero degli oggetti radicato nell'oggetto passato. Per visualizzare l'albero completo degli oggetti, usare il comando di esempio seguente:

    !wudfext.wudfobject <IWDFDriver*> 1

  2. Determinare se ci sono più oggetti straordinari di quanto ti aspetti.

    Il driver potrebbe perdere questi oggetti (per ulteriori informazioni sulla perdita di oggetti WDF, vedere Determinare se un driver perde oggetti framework).

    Questi oggetti potrebbero trovarsi nell'albero degli oggetti e quindi essere liberati. Tuttavia, vengono accumulati inutilmente. Questi oggetti potrebbero richiedere: