Abilitazione della traccia di debug di NDIS

La traccia di debug NDIS è il metodo primario per il debug dei driver NDIS. Quando si configura la traccia di debug NDIS, si abilita effettivamente uno o più livelli di istruzioni DbgPrint con NDIS. Le informazioni risultanti sono sufficienti per il debug della maggior parte dei problemi di driver di rete.

Abilitazione della traccia di debug di NDIS impostando i valori del Registro di sistema

È possibile abilitare diversi livelli di traccia di debug in vari componenti NDIS modificando il Registro di sistema. In genere, è necessario aggiungere le voci e i valori seguenti alla chiave del Registro di sistema HKLM\SYSTEM\CurrentControlSet\Services\NDIS\Parameters :

"DebugLevel"=dword:00000000
"DebugSystems"=dword:000030F3
"DebugBreakPoint"=dword:00000001 

I valori seguenti sono accettabili per DebugBreakPoint, DebugLevel e DebugSystems:

DebugBreakPoint
Controlla se un driver NDIS si interromperà automaticamente nel debugger. Se questo valore è impostato su 1, NDIS verrà interrotto nel debugger quando un driver entra nella funzione DriverEntry di Ndis.sys.

DebugLevel
Seleziona il livello o la quantità di traccia di debug nei componenti NDIS selezionati con il valore DebugSystems . I valori seguenti specificano i livelli che è possibile selezionare:

Level Descrizione Valore

DBG_LEVEL_INFO

Tutte le informazioni di debug disponibili. Si tratta del livello più alto di traccia.

0x00000000

DBG_LEVEL_LOG

Informazioni di log.

0x00000800

DBG_LEVEL_WARN

Avvisi.

0x00001000

DBG_LEVEL_ERR

Errori.

0x00002000

DBG_LEVEL_FATAL

Errori irreversibili, che possono causare l'arresto anomalo del sistema operativo. Si tratta del livello di traccia più basso.

0x00003000

DebugSystems
Abilita la traccia di debug per i componenti NDIS specificati. Corrisponde all'uso dell'estensione !ndiskd.dbgsystems . I valori seguenti specificano i componenti NDIS che è possibile selezionare:

Componente Descrizione Valore

DBG_COMP_INIT

Gestisce l'inizializzazione dell'adattatore.

0x00000001

DBG_COMP_CONFIG

Gestisce la configurazione dell'adattatore.

0x00000002

DBG_COMP_SEND

Gestisce l'invio di dati sulla rete.

0x00000004

DBG_COMP_RECV

Gestisce la ricezione di dati dalla rete.

0x00000008

DBG_COMP_PROTOCOL

Gestisce le operazioni del protocollo.

0x00000010

DBG_COMP_BIND

Gestisce le operazioni di associazione.

0x00000020

DBG_COMP_BUSINFO

Gestisce le query del bus.

0x00000040

DBG_COMP_REG

Gestisce le operazioni del Registro di sistema.

0x00000080

DBG_COMP_MEMORY

Gestisce la gestione della memoria.

0x00000100

DBG_COMP_FILTER

Gestisce le operazioni di filtro.

0x00000200

DBG_COMP_REQUEST

Gestisce le richieste.

0x00000400

DBG_COMP_WORK_ITEM

Gestisce le operazioni dell'elemento di lavoro.

0x00000800

DBG_COMP_PNP

Gestisce le operazioni di Plug and Play.

0x00001000

DBG_COMP_PM

Gestisce le operazioni di risparmio energia.

0x00002000

DBG_COMP_OPENREF

Gestisce le operazioni che aprono oggetti di riferimento.

0x00004000

DBG_COMP_LOCKS

Gestisce le operazioni di blocco.

0x00008000

DBG_COMP_RESET

Gestisce le operazioni di reimpostazione.

0x00010000

DBG_COMP_WMI

Gestisce le operazioni di strumentazione gestione Windows.

0x00020000

DBG_COMP_CO

Gestisce Connection-Oriented NDIS.

0x00040000

DBG_COMP_REF

Gestisce le operazioni di riferimento.

0x00080000

DBG_COMP_ALL

Gestisce tutti i componenti NDIS.

0xffffffff

È possibile selezionare più componenti NDIS. Se sono selezionati più componenti, combinare i valori dei dati con un operatore OR. Ad esempio, per selezionare DBG_COMP_PNP, DBG_COMP_PM, DBG_COMP_INIT e DBG_COMP_CONFIG, è necessario combinare i valori corrispondenti (0x1000, 0x2000, 0x1 e 0x2) per ottenere il valore 0x3003 e quindi impostarlo nel Registro di sistema:

"DebugSystems"=dword:00003003

Ogni volta che si modificano i valori del Registro di sistema per la traccia di debug, è necessario riavviare il computer per rendere effettive le nuove impostazioni.