Поделиться через


!ndiskd.pendingnbls

Расширение !ndiskd.pendingnbls отображает ожидающие NBLs (NET_BUFFER_LISTs), передаваемые.

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

Параметры

-ручка
Дескриптор минипорта, фильтра или открытия NDIS.

-fullstack
Отображает ожидающие NBL из всего стека, связанного с дескриптором.

-многословие
Уровень детализации для отображения.

DLL-библиотеки

Ndiskd.dll

Примеры

!ndiskd.pendingnbls можно передать дескриптор минипорта NDIS, фильтра или открытия. В следующем ряде примеров используется минипорт-дескриптор. Чтобы просмотреть список всех мини-портов и связанных с ними мини-накопителей, запустите расширение !ndiskd.netadapter без параметров. В следующем примере выходных данных найдите сетевой адаптер отладки ядра Майкрософт, дескриптор которого ffffe00bc3f701a0. Его дескриптор мини-driver является ffffe00bc51b9ae0.

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

Чтобы просмотреть ожидающие NBLs для мини-порта, установите точку останова в его minidriver SendNetBufferListsHandler. Используйте дескриптор minidriver для запуска команды !ndiskd.minidriver -handle -handlers , чтобы просмотреть список его обработчиков, а затем щелкните ссылку "bp" справа от SendNetBufferListsHandler. Можно также ввести команду bp-handle в командной строке.

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

Установив точку останова в SendNetBufferListsHandler, введите команду g , чтобы позволить целевому компьютеру отладки запускаться и нажать точку останова.

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

Теперь, после нажатия точки останова minidriver SendNetBufferListsHandler, вы можете увидеть любые ожидающие NBLs для мини-порта, введя команду !ndiskd.pendingnbls -handle с дескриптором минипорта.

Обратите внимание , что целевой компьютер отладки в этом примере загружает веб-страницу при достижении точки останова, поэтому трафик проходит через путь к данным мини-порта. Таким образом, он имел ожидающий NBL для отправки. Даже после установки точки останова на одном или нескольких обработчиках NBL для мини-driver вы можете не видеть ожидающие NBL, если в пути данных не было действий.

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.

См. также

Руководство по проектированию сетевого драйвера

Справочник по сети Windows Vista и более поздних версий

Отладка сетевого стека

Расширения NDIS (Ndiskd.dll)

!ndiskd.help

NET_BUFFER_LIST

!ndiskd.netadapter

!ndiskd.minidriver

bp, bu, bm (Установка точки останова)