マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • sysinternalsのツールの一つ。
  • UMPDの後継ツール(?)
  • .NETのダンプも取得可能。

詳細

デバッグ

  • ファーストチャンスのキャプチャ(デバッガのアタッチ)
    procdump -ma -e 1 -t -n 10 XXXXX.exe

クラッシュ・ダンプ

一般的な取得方法

一般的な、クラッシュ・ダンプの取得方法。

procdump.exe -ma -e XXXXX.exe

プロセスIDで取得

プロセスIDでの、クラッシュ・ダンプの取得方法。

procdump -a -r -ma <プロセス ID> <出力先フォルダ>

マルチ・プロセスの場合

  • Process_Nameで wait (-w) していると、
    以下が出力されて監視が停止する(取得できない)。
    Multiple processes match the specified name.

ハング・ダンプ

メッセージ・ループのハング

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
  • パフォーマンス・カウンタ
    ...

オプション

ダンプの種類

#オプション説明詳細
1-mm'Mini' dump
2-ma'Full' dump
3-mp'MiniPlus?' dump
4-mc Mask'Custom' dumpMINIDUMP_TYPE(16進数)で定義されたメモリを含める。
5-md Callback_DLL'Callback' dumpコールバック・ルーチンで定義されたメモリを含める。
6-mk'Kernel' dump

入力と出力

入力はプロセス、出力はファイル。

  • 起動
    {-x Dump_Folder Image_File [Argument, ...]}
  • 入力:起動
    Image_File [Argument, ...]
  • 出力:ファイル or フォルダ
    Dump_Folder
  • 既存 or 待ち
    {{[-w] Process_Name | Service_Name | PID} [Dump_File | Dump_Folder]}
  • 入力:対象プロセス(-wで起動待ち可能)
    • Process_Name
    • Service_Name
    • PID
  • 出力:ファイル or フォルダ
    • Dump_File
    • Dump_Folder

クラッシュ・ダンプ関連

[-e [1 [-g] [-b]]]
  • eオプション
    指定プロセスがクラッシュ(未処理の例外が発生)した際にダンプを取得
  • 関連オプション
    #オプション説明
    11ファースト・チャンス例外のキャプチャ
    2-gネイティブ・デバッガとして実行
    3-bデバッグ・ブレーク・ポイントを例外として処理

ハング・ダンプ関連

[-h ...]
  • hオプション
    指定プロセスがハングアップした場合(ウィンドウメッセージに5秒間以上応答していない場合)にダンプを取得
  • 関連オプション
    #オプション説明
    1-s SecondsSeconds 秒以上、以下のダンプ取得の条件が続いた際にダンプを取得
    2-c CPU_UsageCPU使用率が n %を超えた際にダンプを取得
    3-cl CPU_UsageCPU使用率が 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-6464ビットのダンプを作成する

デバッガ

#オプション説明
1-lプロセスのデバッグ・ログを表示
2-f Include_Filter, ...例外およびデバッグ・ログの内容を組込フィルタ
3-fx Exclude_Filter, ...例外およびデバッグ・ログの内容を除外フィルタ
4-iProcDumpAeDebug事後検証デバッガとしてインストール
5-uAeDebug事後検証デバッガのアンインストール(以前の構成を復元)
  • アタッチは、コチラ(-e -g)で行う。
  • Install Usage:
    procdump.exe -i [Dump_Folder]
                    [-mm] [-ma] [-mp] [-mc Mask] [-md Callback_DLL] [-mk]
                    [-r]
                    [-k]
                    [-wer]
  • Uninstall Usage:
    procdump.exe -u

クローン

Windows 7、Windows 2012 R2に導入されたの
プロセスリフレクション(Proces Reflection)により、
プロセスをクローン、クローンからメモリのスナップショットを
ダンプすることで、取得後のプロセスを継続させることが出来る。

#オプション説明
1-r [1..5]プロセスをリフレクト(同時制限はオプション 1..5)
2-a-rに続け、負荷による停止を避けるケースで利用

参考

概要

詳細

その他


Tags: :インフラストラクチャ, :Windows, :障害対応, :デバッグ, :ツール類


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-07 (木) 14:16:45 (8d)