Windbg で sosex を使ってマネージコードのソースレベルでブレークポイント設定

Windbg でマネージコードをデバッグするとき、sosex を使えば、ソースレベルでブレークポイントを設定できる。

  1. '.load sosex.dll' で sosex をロード。
  2. '!mbp ソースファイル名 行番号' でブレークポイント設定。
  3. 'g' で実行開始。
  4. ブレークポイントにヒットした。
  5. '.loadby sos.dll clr' で sos をロード (フレームワークが 3.5 までは 'clr' を 'mscorwks' に変更する、参考: Unable to load SOS in WinDbg)
  6. '!ClrStack' でマネージスタックを表示。
  7. 指定の位置でブレークしている!

f:id:tt195361:20150528102143p:plain