troushoo

ProcDumpでダンプの取得: ダウンロードから基本的な使い方まで

ProcDumpはコマンドラインのツールで、アプリのダンプを取得する際に使用されます。以下、ProcDumpのダウンロードから、基本的な使い方までを紹介します。

ProcDumpのダウンロード・インストール
ProcDumpのダウンロードはMicrosoftのサイトに行き、”Download ProcDump”をクリックし、Zipファイルをダウンロードします。
ProcDumpのダウンロード
インストールは、ダウンロードしたZipファイルを解凍するだけです。
Zipファイルを解凍すると、2つのファイルが出来上がります。
ProcDump

ProcDumpの基本的な使い方
ProcDumpは、アプリの様々な状態を契機としてアプリのダンプの取得を行えます。
今回は、以下の基本的な3つの例のProcDumpの使い方の紹介を行います。
 ・CPU高負荷時にダンプを取得
 ・ハング時にダンプを取得
 ・クラッシュ時にダンプを取得


[CPU高負荷時にダンプを取得]
以下は、ProcDumpTest.exeのCPU使用率が、5秒連続で90%を超えた際にアプリのフルダンプを取得します。
procdump.exe –ma –s 5 –c 90 ProcDumpTest.exe
引数 意味
-ma ダンプの種類はフルダンプ
-s 5 5秒以上、ダンプ取得の条件が続いた際にダンプを取得
-c 90 CPU使用率が90%超えた際にダンプを取得
CPU高負荷時にダンプを取得

[ハング時にダンプを取得]
以下は、ProcDumpTest.exeがハングしたときにアプリのフルダンプを取得します。
procdump.exe –ma –h ProcDumpTest.exe
引数 意味
-ma ダンプの種類はフルダンプ
-h ハングした際にダンプを取得
*ハングの定義は、アプリのウィンドウが5秒間反応しなかったとき
ハング時にダンプを取得

[クラッシュ時にダンプを取得]
以下は、ProcDumpTest.exeがクラッシュしたときにアプリのフルダンプを取得します。
procdump.exe –ma –e ProcDumpTest.exe
引数 意味
-ma ダンプの種類はフルダンプ
-e クラッシュした際にダンプを取得
クラッシュ時にダンプを取得

補足
今回の主題とは外れますが、取得したダンプの解析方法について少しだけ記述します。

取得したダンプは、WinDbgを使って解析を行います。
以下は、クラッシュ時の.NETアプリのダンプを、WinDbgで開いてクラッシュ時のコールスタックを確認しているところです。Button_Click_2()の先でクラッシュしていることがわかります。
クラッシュ発生時のコールスタック
実際にButton_Click_2()のコードを見てみると、例外が投げられていることがわかります。
99-10

WinDbgを使った.NETのデバッグについては、ブログの過去記事もご参照ください。

リンク
・ProcDump (英語)
MicrosoftのProcDumpの説明ページです。
http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx


  1. 2013/01/27(日) 15:18:39|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<ProcDumpでダンプの取得: v5.0からの新機能 | ホーム | .prefer_dml: コマンドの出力にリンクを追加し、そのリンクのクリックでデバッグ>>

コメント

コメントの投稿


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

トラックバック

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

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

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

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

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