!ndiskd.netreport

!ndiskd.netreport 扩展生成整个网络堆栈的可视报表。 报表 !ndiskd.netreport 生成一个 HTML 文件,它将提供指向其位置的链接。 HTML 文件包含有关网络堆栈的详细信息,因此,如果需要共享它进行分析,可以通过电子邮件发送它,而不必发送大型故障转储文件。

!ndiskd.netreport [-outputpath <str>] [-jsononly] 

参数

-outputpath
指定写入报表文件的位置。

-jsononly
仅写入原始数据,无 HTML。

DLL

Ndiskd.dll

示例

运行 !ndiskd.netreport 扩展以绘制网络堆栈的方框图。

1: kd> !ndiskd.netreport


NETWORK STACK REPORT


    Want more stuff?  Rerun with the -verbose flag
                                                                                            

    Report was saved to C:\Users\******\AppData\Local\Temp\NKDFE9F.html
    View the report                        Send in email

单击底部的“查看报表”链接,以查看生成的报表。 下图显示从故障转储文件生成的网络报表。 每个垂直堆栈都是一个网络适配器,被分解成显示堆栈组件的层。 每个框的颜色都是通过对组件名称进行哈希处理生成的,这意味着每次运行报表时,相同的组件将以相同的颜色呈现。 这意味着,如果你正在调试某个特定的驱动程序或适配器的问题,则可以轻松地挑选出它。

从故障转储文件生成的网络调试报告的屏幕截图。

作为比较,下图显示了从活动系统而不是故障转储文件生成的网络报表。 请注意,HTML 页面的底部还有两个选项,分别是“显示数据流”和“模拟数据包”,报表的顶部有第四个选项卡“数据流”。出现这些选项是因为调试对象计算机启用了 NBL 跟踪,这使得 !ndiskd.netreport 可以解析 NBL 跟踪日志以直观地显示信息。 如果未打开 NBL 跟踪,这些选项将不会显示。 有关 NBL 跟踪和 NBL 日志的详细信息,请参阅 !ndiskd.nbllog

选中“显示数据流”框,可以看到数据流动的路径。 选中“模拟数据包”框,可以看到动画圆圈在数据流路径上上下移动。 每个圆表示一个网络数据包。

从活动系统生成的网络调试报告的屏幕截图。

来自活动系统的第二个示例还显示了与第一个示例的另一个不同之处,第一个示例使用了故障转储文件。 第二个示例中的目标调试对象计算机已预配用于通过网络进行内核调试,因此你可以在具有数据流的堆栈上看到网络适配器是 Microsoft 内核调试网络适配器。 除非已在调试对象计算机上启用内核调试,否则此适配器通常处于隐藏状态。 实际上,内核调试网络适配器已为调试会话保留计算机的以太网适配器,因此流量通过以太网流动。

可视化网络堆栈和查看流量流向的能力可以使你快速确定问题可能出现在哪里。 这对于虚拟交换机或服务器特别有用,因为它们的网络图比前面的示例更复杂。 例如,在使用 NIC 组合的 Windows Server 上,可以查看多个网络堆栈是否相互交叉以平衡流量负载,并确定一个堆栈底部是否存在影响另一个堆栈的问题。 若要查看显示此情况的网络调试报告的示例,请参阅调试网络堆栈。 有关 NIC 组合的详细信息,请参阅使用 NIC 组合提高网络子系统性能

!ndiskd.netreport 在“系统”、“摘要”和“数据流”页面顶部还有其他选项卡(如果适用)。 这些选项卡包含有关网络堆栈状态的更多有用信息。 下图显示了“摘要”选项卡下的“网络接口”选项卡。通过此选项卡中的表,可以查看有关系统中网络接口的名称和标识符的详细信息。

网络调试报告中“网络接口”选项卡的屏幕截图。

如果在目标系统上启用了 NBL 跟踪,则会出现“数据流”选项卡,其中显示了一个流量事件表以及每个事件的详细信息。 下图显示了前面所述的第二个示例调试报告中活动系统中的“数据流”选项卡。

网络调试报告中“数据流”选项卡的屏幕截图。

另请参阅

网络驱动程序设计指南

Windows Vista 和更高版本的网络参考

调试网络堆栈

NDIS 扩展(Ndiskd.dll)

!ndiskd.help

!ndiskd.nbllog

使用 NIC 组合提高网络子系统性能