このセクションでは、WinDbg デバッガーでデータ モデル メニューを操作する方法について説明します。
新しいモデル クエリ
[新しいモデル クエリ] ダイアログを使用して、新しいモデル クエリを作成します。 通常の dx
コマンドに入力するものは何でも、ここに入れることができます。
たとえば、デバッガー セッション オブジェクトを調べる Debugger.Sessions
を指定します。
デバッガー オブジェクトに関する一般的な情報については、 dx (デバッガー オブジェクト モデル式の表示) を参照してください。
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())
クエリの変更
変更クエリを使用して、アクティブなデータ モデル ウィンドウで使用されるクエリを変更します。