Compartir a través de


!ndiskd.pendingnbls

La extensión !ndiskd.pendingnbls muestra NBL pendientes (NET_BUFFER_LISTs) que están en tránsito.

!ndiskd.pendingnbls [-handle <x>] [-fullstack] [-verbosity <x>] 

Parámetros

-asa
Identificador de una minipuerto, filtro o apertura de NDIS.

-fullstack
Muestra las NBL pendientes de toda la pila asociada al identificador.

-verbosidad
Nivel de detalle que mostrar.

Archivo DLL

Ndiskd.dll

Ejemplos

!ndiskd.pendingnbls se puede pasar el identificador de un minipuerto, filtro o apertura de NDIS. En la siguiente serie de ejemplos se usa un controlador de minipuerto. Para ver una lista de todos los minipuertos y sus minicontroladores asociados, ejecute la extensión !ndiskd.netadapter sin parámetros. En el siguiente ejemplo de salida, busque el adaptador de red de depuración de kernel de Microsoft, cuyo identificador es ffffe00bc3f701a0. El identificador de minicontrolador es ffffe00bc51b9ae0.

0: kd> !ndiskd.netadapter
    Driver             NetAdapter          Name                                 
    ffffe00bc6e12ae0   ffffe00bc6e4e1a0    Microsoft ISATAP Adapter #2
    ffffe00bc51b9ae0   ffffe00bc3f701a0    Microsoft Kernel Debug Network Adapter

Para ver las NBL pendientes para un minipuerto, establezca un punto de interrupción en el SendNetBufferListsHandler del minicontrolador. Use el identificador del minicontrolador para ejecutar el comando !ndiskd.minidriver -handler -handlers para ver una lista de los identificadores y, a continuación, haga clic en el vínculo "bp" situado a la derecha de SendNetBufferListsHandler. Otra opción puede ser introducir el comando bp -handle en la línea de comandos.

0: kd> !ndiskd.minidriver ffffe00bc51b9ae0 -handlers


HANDLERS

    NDIS Handler                           Function pointer   Symbol (if available)
    InitializeHandlerEx                    fffff80ae9618230  bp
    SetOptionsHandler                      fffff80ae9612800  bp
    HaltHandlerEx                          fffff80ae9618040  bp
    ShutdownHandlerEx                      fffff80ae96122c0  bp

    CheckForHangHandlerEx                  fffff80ae9612810  bp
    ResetHandlerEx                         fffff80ae9612f70  bp

    PauseHandler                           fffff80ae9618000  bp
    RestartHandler                         fffff80ae9618940  bp

    OidRequestHandler                      fffff80ae9611c90  bp
    CancelOidRequestHandler                fffff80ae96122c0  bp
    DirectOidRequestHandler                [None]
    CancelDirectOidRequestHandler          [None]
    DevicePnPEventNotifyHandler            fffff80ae96189a0  bp

    SendNetBufferListsHandler              fffff80ae9611870  bp
    ReturnNetBufferListsHandler            fffff80ae9611b50  bp
    CancelSendHandler                      fffff80ae96122c0  bp

Después de establecer el punto de interrupción en SendNetBufferListsHandler, introduzca el comando g para permitir que la máquina de destino de depuración se ejecute y llegue al punto de interrupción.

0: kd> bp fffff80ae9611870
0: kd> g
Breakpoint 0 hit
fffff80a`e9611870 4053            push    rbx

Ahora, después de alcanzar el punto de interrupción SendNetBufferListsHandler del minicontrolador, puede ver los NBL pendientes para el minipuerto si introduce el comando !ndiskd.pendingnbls -handle con el identificador de minipuerto.

Nota La máquina de destino de depuración de este ejemplo estaba cargando una página web al alcanzar el punto de interrupción, por lo que el tráfico fluía a través de la ruta de datos del minipuerto. Por lo tanto, tenía un NBL pendiente para enviar. Incluso después de establecer un punto de interrupción en uno o varios de los identificadores NBL para el minicontrolador, es posible que no vea ningún NBL pendiente si no había ninguna actividad en la ruta de datos.

0: kd> !ndiskd.pendingnbls ffffe00bc3f701a0

PHASE 1/3: Found 20 NBL pool(s).                 
PHASE 2/3: Found 342 freed NBL(s).                                    

    Pending Nbl        Currently held by                                        
    ffffe00bc5545c60   ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter  [NetAdapter]                    
    

PHASE 3/3: Found 1 pending NBL(s) of 4817 total NBL(s).                      
Search complete.

Consulte también

Guía de diseño de controladores de red

Referencia de redes de Windows Vista y versiones posteriores

Depuración de la pila de red

Extensiones NDIS (Ndiskd.dll)

!ndiskd.help

NET_BUFFER_LIST

!ndiskd.netadapter

!ndiskd.minidriver

bp, bu, bm (Establecer punto de interrupción)