WinDbgでよく使うコマンドをまとめてみました。
| コマンド | 説明 |
|---|---|
| g | 実行 |
| k | スタックトレース表示 |
| bp [アドレス] | 解決済みのアドレスにブレイクポイントを設定 |
| bu [Module]![クラスや構造体名] | まだ解決されていないアドレスにブレイクポイントを設定。関数のシンボル名とか。 |
| bl | ブレイクポイント一覧を表示 |
| be/bd [Breakpoint ID] | ブレイクポイント有効・無効 |
| dt [Module]![クラスや構造体名] -r [クラスや構造体のアドレス] | クラス・構造体のメンバの内容を表示 |
| dds [アドレス範囲] | 指定したアドレスの範囲をシンボルのアドレスの配列と想定してシンボル名を解決して表示する |
| lm | ロードされているモジュールの一覧を表示 |
| lm v m [モジュール名] | 指定されたモジュールの詳細情報を表示 |
| !address -summary | 仮想アドレスの使用状況などを表示 |
| !analyze -v | クラッシュダンプを解析 |
| !handle [ハンドル値] | ハンドルの情報を表示 |
| !htrace | ハンドルに対する操作のスタックトレースを表示 |
| !teb | スレッド情報(Thread Environment Block)を表示 |
| !wow64exts.sw | 32/64bitモード切替 |
| !clrstack | マネージコードのスタックトレースを表示 事前に .loadby sos clr を実行しておく必要がある。 |
| !dso | 現在のスタックの範囲内で見つかったすべてのマネージオブジェクトを表示 |
| !PrintException [例外オブジェクトアドレス] !pe [例外オブジェクトアドレス] |
指定されたCLR例外オブジェクトの内容を表示。 |
| .writemem [ファイル名] [アドレス範囲] | 指定アドレス範囲のメモリをファイルに保存する |
参考リンク