troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

DebugDiag を用いて、任意のメソッド実行時にダンプを採取する方法

DebugDiag を用いて、任意のメソッド実行時にダンプを採取する方法

概要

DebugDiag を用いて、任意のメソッド実行時にダンプを採取する方法を紹介します。

内容

DebugDiag を用いると、任意のメソッド実行時のダンプを採取することができます。
以下、その方法を紹介します。

DebugDiag のダウンロード・インストール
DebugDiag とは、Microsoft のサイトより公開されているツールで、フリーで使用することができます。

1. Microsoft のサイトより、DebugDiag をダウンロードします。
ダウンロード

2. インストールは、ダウンロードしたインストーラーを実行するだけです。
数分でインストールは完了します。
インストーラー

DebugDiag の設定方法
ここでは、MyDebugDiagTest.exe のMyDebugDiagTest.Program.MyFunc というメソッドでダンプを取得するための設定を行います。

1. DebugDiag(= C:\Program Files\DebugDiag\DebugDiag.Collection.exe) を起動します。
DebugDiag を起動

2. “Crash” を選択します。
Crash を選択

3. “A specific process” を選択します。


4. ダンプをとりたいプロセスを選びます。
ダンプをとりたいプロセスを指定

5. “Breakpoints” をクリックします。
Breakpoints をクリック

6. “Add Breakpoint” をクリックします。


7. “Configure Breakpoint” の画面で以下の設定を行います。
・“Breakpoint Expression” に、ダンプをとる契機となるメソッド名を記入
・”This is a managed (.NET) breakpoint” にチェックを入れる
・”Action Type” をFull Userdump にする
メソッド実行時にダンプがとられるようにする

8. 設定が終わり”OK” をクリックすると、一つ前の画面に戻ります。
設定がされていることを確認し、”Save & Close” をクリックします。
設定されたことを確認

9. 一つ前の画面に画面に戻るので、”次へ” をクリックします。
次へ

10. 名前と出力されるファイルの場所を指定します。
デフォルトで問題ありません。
次へ

11. “Activate the rule now” を選択します。
Activate the rule now

12. シンボルの設定をするために”はい” をクリックします。


13. 設定が完了します。
設定が完了した

メソッドを実行して見る
1. メソッドを実行してみます。

2. DebugDiag の”Userdump Count” が0 から1 になり、ダンプが1 つ取得されていることがわかります。
ダンプが取得された

3. 設定した場所(= デフォルトではC:\Program Files\DebugDiag\Logs\ 以下) にダンプがあります。
ダンプが作成されている

4. ダンプを開き、!clrstack でコールスタックを調べると、確かに設定したメソッドでダンプがとられていることが確認できます。
指定したメソッドでダンプが取得されていることがわかる


情報元
How to Use the Debug Diagnostic Tool v1.1 (DebugDiag) to Debug User Mode Processes のBreakpoints の章(英語)

関連記事
releaseビルド時にも!clrstackで詳細な情報を確認する方法


  1. 2013/12/20(金) 23:28:26|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Wireshark を用いたSMB のトラブルシューティングに使える5つのテクニック | ホーム | WPR/WPA を用いた、アプリが何を待っているかを調べる方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/149-2836c629
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (24)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。