カテゴリー: デバッグ
[WinDbg/CDB] 不明なシンボル名をワイルドカードで検索する
Windowsでダンプファイルを取得する
[WinDbg/CDB] 特定のアドレスでブレークを仕掛けてメモリ値やレジスター値を変更する
[WinDbg/CDB] プロセスのトータルCPU時間を表示
0:00> .time Debug session time: Mon Oct 19 10:38:47.000 2009 (GMT+9) System Uptime: 0 days 1:28:25.006 Process Uptime: 0 days 0:12:56.000 Kernel time: 0 days 0:00:17.000 User time: 0 days 0:02:39.000
別の時間でダンプを取ることにより、その間にどれくらい CPU 時間を占有していたかを知ることもできる。
0:00> .time Debug session time: Mon Oct 19 10:39:25.000 2009 (GMT+9) ^^^^^^^^^ 38ms 後 System Uptime: 0 days 1:29:00.312 Process Uptime: 0 days 0:13:34.000 Kernel time: 0 days 0:00:18.000 ^^^^^^^^ 1秒 User time: 0 days 0:02:40.000 ^^^^^^^^^^^ 1秒
[WinDbg/CDB] スレッドの実行時間
[WinDbg/CDB] 型を指定してデータをダンプする
WinDgb/CDBでシンボルパスをセットする
ネットワークにつながっていれば以下のいずれかの設定でオンラインでシンボルを検索できます。以下に出てくる「C:\symbols」はネットワーク上からダウンロードしてきたシンボルファイルをローカルで保管しておく場所です。
パス名は任意ですがあらかじめ作成しておく必要があります。
- 環境変数として設定する場合
- コントロールパネル->システム
- 「詳細設定タブ」
- 「環境変数」
- ユーザ環境変数、もしくはシステム環境変数の「新規」をクリックし、以下変数名と値をセット
変数名 変数値 _NT_SYMBOL_PATH SRV*C:\sybmols*http://msdl.microsoft.com/download/symbol
- File->Symbol File Path …
- テキストボックスに以下を入力
SRV*C:\sybmols*http://msdl.microsoft.com/download/symbols
- cdb 起動時にオプションでシンボルパスを設定する場合
C:\> cdb -y SRV*C:\symbols*http://msdl.microsoft.com/download/symbols
- cdb 起動後に .sympath コマンドを使ってシンボルパスを設定する場合
0:00> .sympath SRV*C:\symbols*http://msdl.microsoft.com/download/symbols
MS 以外から提供されているシンボルファイルをローカルで持ち、そちらも参照するようにしたい場合にはシンボルパスにセミコロン(;)で区切って指定することもできます。
0:00> .sympath C:\product\x64\Release;SRV*C:\symbols*http://sym.example.com/symbols;SRV*C:\symbols*http://msdl.microsoft.com/download/symbols -z