.prefer_dml コマンドを利用すると、WinDbgでのデバッグコマンドの出力にリンクを追加することができます。そのリンクをクリックすると、詳細情報を確認することができるので便利です。
[環境]
リンクを使ったデバッグは、.NET 3.5以前のデバッグ時には使用できません。
.NET 4.0以上でのデバッグ時に使用可能です。
[ステップ バイ ステップ]
(1). “.prefer_dml 1” を実行
”.prefer_dml 1” を実行することで、デバッグの出力にリンクを追加するように設定します。
(2). デバッグコマンドの出力に、リンクが追加
以下は、.prefer_dml 1を実行した後の!clrstackの出力です。
IPの列にリンクが追加されていることがわかります。
ちなみに、.prefer_dml 1を実行する前の!clrstackの出力は以下です。
リンクがないことがわかります。
(3). リンクをクリックし詳細情報を確認
以下は、!clrstackの出力のIPの列の一番上をクリックしたところです。
クリックすると、引数がクリック元のアドレス(=000007fb4104018e)である!Uが実行され、該当アドレスのアセンブラの情報が表示されます。
このように、.prefer_dml を利用すると、コマンドを入力することなくデバッグをすることができるので便
利です。
[補足]
・.prefer_dml 1を実行後、元の状態(=リンクを追加しない状態)に戻すには”.prefer_dml 0”を実行します。
[リンク]
・.prefer_dml (Prefer Debugger Markup Language) (Windows Debuggers) (英語)
.prefer_dmlのMSDNの記事です。
http://msdn.microsoft.com/en-us/library/windows/hardware/hh439561(v=vs.85).aspx