WinDbg — меню модели данных
В этом разделе описывается, как работать с меню модели данных в отладчике WinDbg.
Запрос на создание модели
Используйте диалоговое окно Новый запрос модели, чтобы создать новый запрос модели. Вы можете поместить все, что вы бы ввели в обычную dx
команду.
Например, укажите Debugger.Sessions
для проверки объектов сеансов отладчика.
Общие сведения об объектах отладчика см. в статье dx (Display Debugger Object Model Expression).
Используйте запросы LINQ для более глубокого анализа сеанса. В этом запросе показаны 5 основных процессов, выполняющих больше всего потоков.
Debugger.Sessions.First().Processes.Select(p => new { Name = p.Name, ThreadCount = p.Threads.Count() }).OrderByDescending(p => p.ThreadCount),5
Обозреватель модели данных
Используйте обозреватель моделей данных для быстрого просмотра каждого объекта модели данных в Debugger
пространстве имен.
Режим отображения
Используйте режим отображения для переключения между режимами отображения сетки и иерархии. Вы можете щелкнуть правой кнопкой мыши заголовки столбцов, чтобы скрыть или отобразить дополнительные столбцы.
Режим сетки может быть полезен для обнаружения объектов. Например, ниже приведен предыдущий запрос к верхним потокам в представлении сетки.
При щелчке по любому подчеркнутому элементу открывается новая вкладка и выполняется запрос для отображения этой информации.
В этом запросе отображаются устройства в дереве устройств plug and play, сгруппированные по имени драйвера физического объекта устройства для сеанса ядра.
Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString())
Запрос на изменение
Используйте запрос на изменение, чтобы изменить запрос, используемый в окне активной модели данных.