WinDbg:数据模型菜单

本文介绍如何在 WinDbg 中使用 “数据模型 ”菜单。

新模型查询

使用“ 指定模型查询 ”对话框创建新的模型查询。 您可以将任何内容放入正常的 dx 命令中。

例如,指定 Debugger.Sessions 检查调试器会话对象。

WinDbg 中“指定模型查询”对话框的屏幕截图。

有关调试器对象的常规信息,请参阅 dx (显示调试器对象模型表达式)。

使用 LINQ 查询深入了解会话。 此查询显示运行最多线程的前五个进程。

Debugger.Sessions.First().Processes.Select(p => new { Name = p.Name, ThreadCount = p.Threads.Count() }).OrderByDescending(p => p.ThreadCount),5

“数据模型”窗口的屏幕截图,其中显示了 WinDbg 中的进程和线程。

数据模型浏览器

使用数据模型资源管理器快速浏览命名空间中的每个 Debugger 数据模型对象。

WinDbg 中调试对象会话的“数据模型”窗口的屏幕截图。

显示模式

使用显示模式在网格、层次结构和图形显示模式之间切换。 可以右键单击列标题以隐藏或显示更多列。

在对象中向下挖掘时,网格模式非常有用。 例如,下面是网格视图中的上一个顶级线程查询。

在 WinDbg 的网格视图中显示顶部线程的数据模型窗口的屏幕截图。

选择任何带下划线的项目将打开一个新选项卡,并运行查询以显示该信息。

此查询显示内核会话中即插即用设备树里的设备,这些设备按照物理设备对象的驱动程序名称进行分组。

Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString()) 

“数据模型”窗口的屏幕截图,其中显示了 WinDbg 中网格视图中的即插即用设备树。

更改查询

编辑查询文本框以更改活动 数据模型 窗口中使用的查询。

更改窗口或选项卡标题

为新的通用数据模型窗口提供数据模型标题。 可以通过从选项卡或窗口标题窗格中调用 “更改标题 ”上下文菜单项来自定义标题。

“数据模型”窗口的屏幕截图,其中显示了 WinDbg 中具有自定义标题的两个选项卡。

注释

标题不能为空或包含分号。