--- lang: ja-jp breaks: true --- # C# クラッシュダンプ作成ツール ProcDump 2021-05-17 > [VisualStudio/ダンプ] ProcDumpを使ったダンプファイルの作成と解析 > https://qiita.com/tera1707/items/26b7d19e7ae1b4978f9f > ProcDump v10.0 > https://docs.microsoft.com/ja-jp/sysinternals/downloads/procdump > https://download.sysinternals.com/files/Procdump.zip ## ProcDump を起動して、アプリケーション "ProcDumpApp.exe" がクラッシュするのを待つ 「Violation」文字を含む例外が最初に発生したタイミングでダンプが出力されます。 ```shell= procdump64.exe -l -w -ma -e -f *Violation* "ProcDumpApp.exe" pause ``` スタックオーバーフローを含むダンプは、以下のパラメータで可能。 ```shell= procdump64.exe -l -g -w -ma -e -f * "ProcDumpApp.exe" ``` プロセスIDを指定して、実行中のプロセスがクラッシュするのを待つ。 ```shell= procdump64.exe -l -g -ma -e -f * 56623 ``` | パラメータ | 説明 | | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | -w | 指定したプロセスが実行されていない場合は、起動するまで待ちます。 | | -ma | すべてのプロセスメモリを含むダンプファイルを書きます。デフォルトのダンプ形式では、スレッドとハンドルの情報のみが含まれます。 | | -e | プロセスが処理されない例外に遭遇したときにダンプを書く。`-e 1`を指定すると、最初に発生した例外でダンプを作成します。 | | -f | ファーストチャンスの例外をフィルタリングします。ワイルドカード(*)にも対応しています。ダンプせずに名前だけを表示するには、空白("")のフィルタを使用します。 | | -g | マネージドプロセス内のネイティブデバッガとしてのUn(インターロップなし)。 | | -accepteula | コマンドラインオプションで、Sysinternalsのライセンス契約を自動的に受け入れることができます。 | ## 出力されたダンプファイルは、Visual Studio で開くとエラーとなった箇所が表示される。 :::info 詳細な確認には、ソースファイルおよび、pdbファイルが必要。 ::: ###### tags: `C#` `ProcDump`