NDIS 扩展 (Ndiskd.dll)

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

可以在 Ndiskd.dll 中找到命令。 若要加载符号,请在调试器命令窗口中输入 .reload /f ndis.sys 。 若要确认已成功加载符号,请使用 !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 命令都支持以下泛型参数。

-详细
显示其他详细信息。

-简洁
取消某些样本输出。

-静态
禁止某些交互式输出。

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

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

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

-力
替代有关远程数据健全性的一些安全检查。

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

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

以下命令显示有关计算机的网络适配器、网络驱动程序以及与网络堆栈 (关联的常规命令的信息,例如 rcvqueues、打开、筛选器、OID 和 RW 锁) 。

NET_BUFFER_LIST和NET_BUFFER命令

以下命令显示与 NET_BUFFER_LISTNET_BUFFER 结构相关的信息。

NetAdapterCx 命令

以下命令显示与网络适配器 WDF 类扩展 NetAdapterCx 及其关联结构相关的信息, NET_RING_BUFFERNET_PACKET

网络接口命令

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

NDIS_PACKET 命令

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

CoNDIS 命令

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

NDIS 调试命令

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

WDI 命令

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

NDIS 和 !ndiskd 信息命令

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

其他命令

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

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

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