次の方法で共有


!ndiskd.nbllog

!ndiskd.nbllog 拡張機能は、システム上のすべての NBL (NET_BUFFER_LIST) アクティビティのログを表示します。

!ndiskd.nbllog [-stacks] 

パラメーター

-スタック
呼び出し履歴を含めます。

DLL

Ndiskd.dll

注釈

重要!ndiskd.nbllog では、デバッグ対象のターゲット コンピューターで NBL 追跡を有効にする必要があります。 NBL 追跡は、Windows のすべての構成で既定では有効になっていません。 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