共用方式為


!ndiskd.nbllog

!ndiskd.nbllog 延伸模組會顯示系統上所有 NBL (NET_BUFFER_LIST) 活動的記錄。

!ndiskd.nbllog [-stacks] 

參數

-棧
包含 callstack。

DLL

Ndiskd.dll

備註

重要!ndiskd.nbllog 需要在偵錯目標計算機上啟用 NBL 追蹤。 預設不會在所有 Windows 設定中啟用 NBL 追蹤。 如果未啟用 NBL 追蹤,!ndiskd 會提供如何啟用它的指示,如下列代碼段所示。

0: kd> !ndiskd.nbllog
    This command requires NBL tracking to be enabled on the debugee target
    machine.  (By default, client operating systems have level 1, and servers
    have level 0).  To enable, set this REG_DWORD value to a nonzero value on
    the target machine and reboot the target machine:
    
    HKLM\SYSTEM\CurrentControlSet\Services\NDIS\Parameters ! TrackNblOwner
    Possible Values (features are cumulative)
    * 0:  Disable all tracking.
    * 1:  Track the most recent owner of each NBL (enables !ndiskd.pendingnbls)
    * 2:  Scan for leaks at runtime (use with StuckNblReaction)
    * 3:  Keep a full history of all activity (enables !ndiskd.nbl -log)
    * 4:  Take stack capture snapshots (enables !ndiskd.nbl -log -stacks)
    This command requires level 3 or higher.

NBL 記錄會顯示系統上的網路流量。 !ndiskd.netreport 會剖析 NBL 追蹤記錄檔,以可視化方式顯示此網路流量。 因此,如果未啟用 NBL 追蹤, !ndiskd.netreport 將無法顯示此資訊。

範例

在目標偵錯者計算機上啟用 NBL 追蹤之後,請輸入 !ndiskd.nbllog 命令,以查看系統上所有 NBL 流量的記錄。 如下列範例所示,執行不含任何參數的 !ndiskd.nbllog 會將輸出限制為 200 個事件,這可以透過使用 -force 選項重新執行命令來略過。 此範例中的輸出中間已因簡潔起見而被摘除。

0: kd> !ndiskd.nbllog
    NBLs               Processor           Event              Detail            
                                                                     
    ffffe00bc71453f0   CPU  0              Freed
    ffffe00bc7163b40   CPU  2              Allocated
    ffffe00bc7163b40   CPU  2              ProtocolSent       ffffe00bc5ac4880 - QoS Packet Scheduler-0000
    ffffe00bc7163b40   CPU  2              FilterSent         ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
    ffffe00bc7163b40   CPU  2, IRQL=DPC    FilterSent         ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
    ffffe00bc7163b40   CPU  2, IRQL=DPC    SentToMiniport     ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
    ffffe00bc7163b40   CPU  0, IRQL=DPC    MiniportSendCompleted ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
    ffffe00bc7163b40   CPU  0, IRQL=DPC    FilterSendCompleted ffffe00bc5ac4880 - QoS Packet Scheduler-0000
    ffffe00bc7163b40   CPU  0, IRQL=DPC    FilterSendCompleted send complete in NDIS, sorting to Opens
    ffffe00bc7163b40   CPU  0, IRQL=DPC    SendCompleted      ffffe00bc5ab7c10 - TCPIP6

...

    ffffe00bc6b469b0   CPU  2              Allocated
    ffffe00bc6b469b0   CPU  2              Freed
    ffffe00bc64a3690   CPU  2              Allocated
    ffffe00bc64a3690   CPU  2              ProtocolSent       ffffe00bc5ac4880 - QoS Packet Scheduler-0000
    ffffe00bc64a3690   CPU  2              FilterSent         ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
    ffffe00bc64a3690   CPU  2, IRQL=DPC    FilterSent         ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
    ffffe00bc64a3690   CPU  2, IRQL=DPC    SentToMiniport     ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
    ffffe00bc3cf2d10   CPU  1              Allocated
    ffffe00bc7bc6030   CPU  1              Allocated
    ffffe00bc3cf2d10   CPU  1              ProtocolSent       ffffe00bc5ac4880 - QoS Packet Scheduler-0000

    Maximum of 200 events printed; quitting early.
    Rerun with the '-force' option to bypass this limit.

如需如何解譯 !ndiskd.nbllog 結果的詳細描述,請參閱 NDIS 部落格上的 !ndiskd.nbl -log

另請參閱

網路驅動程序設計指南

Windows Vista 和更新版本的網路參考

偵錯網路堆疊

NDIS 延伸模組 (Ndiskd.dll)

!ndiskd.help

NET_BUFFER_LIST

!ndiskd.nbl -log