Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
Windbgによるスレッド・スタック、例外分析 †
アンマネージでもマネージでも利用可能。 †
「!analyze -v」コマンド †
クラッシュ分析ヒューリスティックにより現在の例外に関する詳細情報を表示
「~」コマンド †
スレッド一覧表示
「~*k」コマンド †
スレッドのコール・スタックを表示
~<thread>s †
カレント・スレッドの設定
「KN, .Frame , DV, and DT 」コマンド †
現在のコール・スタックの引数、ローカル変数を確認できる。
マネージで利用可能 †
「!PrintException? -nested」コマンド †
クラッシュ分析ヒューリスティックにより現在の例外に関する詳細情報を表示
「!thread」コマンド †
スレッドの状態を表示
- アンマネージスレッドか?
- マネージスレッドか?
- ファイナライザスレッドか?
- ステータス情報を確認できる。
「!ClrStack? -a」コマンド †
- マネージドコードのコールスタック
- 「~*k」コマンドより若干詳しい。
なお、ここに表示される
は、以下のコマンドを使用して値を確認できる。
- 変数がStringである場合、
!DumpObj?コマンドに指定すれば、文字列情報を取得できる。
- 変数が配列である場合、
!DumpArray?コマンドを使用して、各要素の情報を取得できる。
- 参照渡しの引数である場合
ddコマンドを使用してアドレス情報を確認できる。
(ddコマンドではポインタ(オブジェクト参照)の指す値を確認できる)
参考 †
- Windbg Hoster-JP
http://www.hoster.jp/tag/windbg
- [Windbg 第1回] Windbgを知っていますか?
- [Windbg 第2回] Windbgはどこにありますか?
- [Windbg 第3回] ツールはどのようにインストールしますか。
- [Windbg 第4回] カーネルメモリ空間のダンプを取得する。
- [Windbg 第5回] ユーザメモリ空間のダンプを取得する。
- [Windbg 第6回] 取得したダンプをWindbgで開く
- [Windbg 第7回] 取得したダンプをkanalyzeで開く
- [Windbg 第8回] Windbgでよく使うコマンド
(その1)クラッシュ時に起動しているアプリケーションを確認する
- [Windbg 第9回] Windbgでよく使うコマンド
(その2)クラッシュ時に読み込まれていたドライバーを確認する
- [Windbg 第10回] Windbgでよく使うコマンド
(その3)クラッシュしたサーバのハードウェア情報を確認する