共用方式為


!ndiskd.pendingnbls

!ndiskd.pendingnbls 延伸模組會顯示傳輸中暫止的 NBL (NET_BUFFER_LISTs)。

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

參數

-處理
NDIS 迷你埠、篩選或開啟的句柄。

-fullstack
顯示與句柄相關聯之整個堆疊的暫止 NBL。

-冗長
要顯示的詳細數據層級。

DLL

Ndiskd.dll

範例

!ndiskd.pendingnbls 可以傳遞 NDIS 迷你埠、篩選或開啟的句柄。 下列一系列範例使用迷你埠句柄。 若要查看所有迷你埠及其相關聯的迷你驅動程式清單,請執行 不含參數的 !ndiskd.netadapter 擴充功能。 在下列範例輸出中,尋找Microsoft核心偵錯網路適配器,其句柄為 ffffe00bc3f701a0。 其迷你驅動程式的句柄是 ffffe00bc51b9ae0。

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

若要查看迷你埠的暫止 NBL,請在其迷你驅動程式的 SendNetBufferListsHandler 上設定斷點。 使用 minidriver 的句柄來執行 !ndiskd.minidriver -handle -handlers 命令以查看其處理程式列表,然後按兩下 SendNetBufferListsHandler 右側的 “bp” 連結。 您也可以在命令行中輸入 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 斷點之後,您可以輸入 !ndiskd.pendingnbls -handle 命令與迷你埠的句 柄,查看迷你埠的任何暫止 NBL。

注意 此範例中的偵錯者目標計算機在達到斷點時正在載入網頁,因此流量會流經迷你埠的數據路徑。 因此,它有一個擱置的 NBL 要傳送。 即使在迷你驅動程式的一或多個 NBL 處理程式上設定斷點之後,如果數據路徑中沒有任何活動,您也可能不會看到任何擱置的 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 (設定斷點)