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
ネームスペース内のすべてのデータ モデル オブジェクトをすばやく参照できます。
表示モード
表示モードを使用して、グリッド表示モードと階層表示モードを切り替えます。 列ヘッダーを右クリックして、さらに多くの列を表示または非表示にすることができます。
グリッド モードは、オブジェクトを掘り下げるのに役立ちます。 たとえば、グリッド ビューでの以前のトップ スレッド クエリは次のとおりです。
下線付きの項目をクリックすると、新しいタブが開き、その情報を表示するためのクエリが実行されます。
このクエリは、カーネル セッションの物理デバイス オブジェクトのドライバーの名前によってグループ化されたプラグ アンド プレイ デバイス ツリー内のデバイスを表示します。
Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString())
クエリの変更
アクティブなデータ モデル ウィンドウで使用されるクエリを変更するには、変更クエリを使用します。