-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ProcDump
nishi_74322014 edited this page Aug 3, 2026
·
1 revision
-
TOP > トラブルシュート > ダンプ取得に使用するツールの一覧
- UMPD
- ProcDump
- ADPlus
- Debug Diagnostic Tool
- Sysinternals のツールの一つ。
- UMPDの後継ツール(?)
- .NETのダンプも取得可能。
- 使い方について。
- コマンド プロンプトを管理者権限で起動しておく。
- ファーストチャンスのキャプチャ(デバッガのアタッチ)
procdump -ma -e 1 -t -n 10 XXXXX.exe
procdump.exe -ma -e XXXXX.exe
procdump -a -r -ma <プロセス ID> <出力先フォルダ>
- Process_Name で wait (
-w) していると、以下が出力されて監視が停止する(取得できない)。
Multiple processes match the specified name.
- 従って、「AeDebug事後検証デバッガ」として事前にインストールしておく必要がある。
(ハング・ダンプ)
procdump.exe -ma -h XXXXX.exe
- CPU:exe の CPU 使用率が、5秒連続で 90% を超えた際にアプリのフルダンプを取得
procdump.exe -ma -s 5 -c 90 XXXXX.exe
- メモリ:メモリコミットが 800MB を超えた際にアプリのフルダンプを取得
procdump -ma -m 800 XXXXX.exe
- パフォーマンス・カウンタ:
-p/-pl(パフォーマンス カウンタを参照)
| # | オプション | 説明 | 詳細 |
|---|---|---|---|
| 1 | -mm |
'Mini' dump | |
| 2 | -ma |
'Full' dump | |
| 3 | -mp |
'MiniPlus' dump | |
| 4 | -mc Mask |
'Custom' dump | MINIDUMP_TYPE(16進数)で定義されたメモリを含める。 |
| 5 | -md Callback_DLL |
'Callback' dump | コールバック・ルーチンで定義されたメモリを含める。 |
| 6 | -mk |
'Kernel' dump |
入力はプロセス、出力はファイル。
- 起動
{-x Dump_Folder Image_File [Argument, ...]}
- 既存 or 待ち
{{[-w] Process_Name | Service_Name | PID} [Dump_File | Dump_Folder]}
[-e [1 [-g] [-b]]]
-e オプション … 指定プロセスがクラッシュ(未処理の例外が発生)した際にダンプを取得
| # | オプション | 説明 |
|---|---|---|
| 1 | 1 |
ファースト・チャンス例外のキャプチャ |
| 2 | -g |
ネイティブ・デバッガとして実行 |
| 3 | -b |
デバッグ・ブレーク・ポイントを例外として処理 |
[-h ...]
-h オプション … 指定プロセスがハングアップした場合
(ウィンドウメッセージに5秒間以上応答していない場合)にダンプを取得
| # | オプション | 説明 |
|---|---|---|
| 1 | -s Seconds |
Seconds 秒以上、ダンプ取得の条件が続いた際にダンプを取得 |
| 2 | -c CPU_Usage |
CPU使用率が n % を超えた際にダンプを取得 |
| 3 | -cl CPU_Usage |
CPU使用率が n % を下回った際にダンプを取得 |
| 4 | -p Counter_Threshold |
パフォーマンス・カウンタが閾値を超えた際にダンプを取得 |
| 5 | -pl Counter_Threshold |
パフォーマンス・カウンタが閾値を下回った際にダンプを取得 |
| 6 | -m Commit_Usage |
メモリコミット閾値(MB単位)を超えた際にダンプを取得 |
| 7 | -ml Commit_Usage |
メモリコミット閾値(MB単位)を下回った際にダンプを取得 |
| 8 | -u |
-c、-cl に続け、CPU使用率をシングルコア基準の値とみなす |
| # | オプション | 説明 |
|---|---|---|
| 1 | -o |
既存のダンプファイルを上書 |
| 2 | -n |
書き込むダンプの数を指定 |
| 3 | -t |
プロセスの終了時にダンプを作成する |
| 4 | -wer |
ダンプを Windows エラー報告のキューに入れる |
| 5 | -64 |
64ビットのダンプを作成する |
| # | オプション | 説明 |
|---|---|---|
| 1 | -l |
プロセスのデバッグ・ログを表示 |
| 2 | -f Include_Filter, ... |
例外およびデバッグ・ログの内容を組込フィルタ |
| 3 | -fx Exclude_Filter, ... |
例外およびデバッグ・ログの内容を除外フィルタ |
| 4 | -i |
ProcDump を AeDebug事後検証デバッガとしてインストール |
| 5 | -u |
AeDebug事後検証デバッガのアンインストール(以前の構成を復元) |
- アタッチは
-e -gで行う。 - インストール/アンインストール
procdump.exe -i [Dump_Folder] [-mm] [-ma] [-mp] [-mc Mask] [-md Callback_DLL] [-mk] [-r] [-k] [-wer]
procdump.exe -u
移行メモ:
-uはコンテキストによって意味が異なる。-c/-clに続けた場合は「CPU使用率をシングルコア基準にする」、 単独で使った場合は「AeDebug 事後検証デバッガのアンインストール」。 原文でも別表に分かれているが、混同しやすいので注記する。
Windows 7、Windows Server 2012 R2 に導入されたプロセス リフレクション(Process Reflection)により、
プロセスをクローンし、クローンからメモリのスナップショットをダンプすることで、
取得後のプロセスを継続させることが出来る。
| # | オプション | 説明 |
|---|---|---|
| 1 | -r [1..5] |
プロセスをリフレクト(同時制限はオプション 1..5) |
| 2 | -a |
-r に続け、負荷による停止を避けるケースで利用 |
※ 本番環境でサービスを止めずにダンプを取りたい場合の要となるオプション。
補足(最新化): ProcDump は現在も更新が続いており、 Linux 版(ProcDump for Linux) も提供されている。 また Sysinternals には、GUI で同種の操作ができる ProcDumpExt / Process Explorer もある。
- ProcDump - Sysinternals
- ダンプの取り方について – Japan SharePoint Support Team Blog
- procdumpの使い方 - Qiita
- ProcDumpでダンプの取得:ダウンロードから基本的な使い方まで
Tags: インフラストラクチャ, Windows, 障害対応, デバッグ, ツール類
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。