NDIS 扩展 (Ndiskd.dll)

本部分介绍 !ndiskd 中提供的命令,该扩展是一个调试器扩展,可用于调试 NDIS (网络设备接口规范) 驱动程序。 这些命令使网络驱动程序开发人员能够更了解Windows堆栈及其驱动程序如何与之交互。 使用 !ndiskd, 可以看到所有网络适配器的状态 (!ndiskd.netadapter) 、计算机网络堆栈 (!ndiskd.netreport) 的可视化关系图、网络适配器 (!ndiskd.nbllog) 上的流量日志或所有挂起的 OID 请求的列表 (!ndiskd.oid) 。

可在以下命令Ndiskd.dll。 若要加载符号,请在调试 器命令ndis.sys输入 .reload /f 命令。 若要确认已成功加载符号,请使用 !lmi ndis 扩展,并查找底部的短语"符号加载成功"。 输出应类似于以下示例:

0: kd> !lmi ndis
Loaded Module Info: [ndis] 
         Module: ndis
   Base Address: fffff80174570000
     Image Name: ndis.sys
   Machine Type: 34404 (X64)
     Time Stamp: 938f9f4e (This is a reproducible build file hash, not a true timestamp)
           Size: 16f000
       CheckSum: 167a05
Characteristics: 22  
Debug Data Dirs: Type  Size     VA  Pointer
             CODEVIEW    21, d4060,   d2c60 RSDS - GUID: {9CC82DBE-96A0-773D-29E0-62B698C4C3A8}
               Age: 1, Pdb: ndis.pdb
                 POGO   988, d4084,   d2c84 [Data not mapped]
                REPRO    24, d4a0c,   d360c Reproducible build[Data not mapped]
     Image Type: MEMORY   - Image read successfully from loaded memory.
    Symbol Type: PDB      - Symbols loaded successfully from symbol server.
                 C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb
    Load Report: public symbols , not source indexed 
                 C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb

!ndiskd 中的许多扩展命令在调试器窗口中显示的结果中提供了超链接。 这些超链接的文本已留在提供的示例中,用于说明在调试对象计算机上运行命令时将看到的确切格式。 一些示例还显式引用了单击这些链接,以便你可以了解典型的使用流,尽管这些示例也提供了每个命令的备用命令行形式。

通用参数

所有 !ndiskd 命令都支持以下泛型参数。

-verbose
显示其他详细信息。

-terse
禁止显示一些样本输出。

-static
取消某些交互式输出。

-dml 0|1
控制是否启用 DML (调试器标记) 输出。

-unicode 0|1
控制是否允许 Unicode 字符输出。

-indent N
每个 进级别使用 N 个空格。

-force
替代对远程数据安全性的一些安全检查。

-tracedata
显示详细跟踪消息以调试 !ndiskd 本身。

Net Adapter、NDIS 驱动程序和常规命令

以下命令显示与网络堆栈关联的网络适配器、网络驱动程序和常规命令的信息 (例如 rcvqueues、opens、filters、OID 和 RW 锁) 。

NET_BUFFER_LIST 和 NET_BUFFER 命令

以下命令显示 与结构NET_BUFFER_LISTNET_BUFFER信息

NetAdapterCx 命令

以下命令显示与网络适配器 WDF 类扩展 NetAdapterCx及其 关联的结构、 NET_RING_BUFFER和NET_PACKET

网络接口命令

以下命令显示与网络接口有关的信息。

NDIS_PACKET命令

以下命令 显示有关NDIS_PACKET 的信息。 这些扩展适用于旧版 NDIS 5.x 驱动程序。 已NDIS_PACKET结构及其关联的体系结构。

CoNDIS 命令

以下命令显示有关面向 连接的 NDIS 连接 的信息。

NDIS 调试命令

以下命令显示与 NDIS 引用计数、事件日志、堆栈跟踪和调试跟踪有关的信息。

WDI 命令

以下命令显示有关 WDI 微型端口驱动程序的信息

NDIS 和 !ndiskd Information 命令

以下命令显示有关NDIS.sys和ndiskd.dll。

其他命令

有关为 Windows Vista 和更高版本设计 NDIS 驱动程序的详细信息,请参阅网络驱动程序设计指南

有关 Windows vista 和更高版本的 NDIS 驱动程序参考的详细信息,请参阅Windows Vista 和更高版本的网络参考

有关使用! ndiskd 调试器命令调试网络堆栈的演示,请参阅 调试网络 stack 第9频道视频。