5

一部のサード パーティ ライブラリのネイティブ コードで、AccessViolationException で失敗することがある .NET プロセスがあります。

それが起こったとき、私は完全なメモリミニダンプをしたいと思っています。このページ - http://support.microsoft.com/kb/931673の「ユーザー モード ダンプを収集するには」セクションを読み、記事の説明に従ってレジストリを構成しました。ただし、クラッシュが発生すると、非常に小さなレポートが作成されます。*.mdmp ファイルは表示されません。

これで、ADPLus 内からプロセスを実行する方法、または既に実行中のプロセスにアタッチする方法がわかりました。ただし、ADPLus を明示的に実行する必要があります。

msbuild、ダブルクリック、コンソールスクリプトなど、どのように開始しても問題のあるプロセスを開始するたびに、ADPlus を自動的に実行するように Windows を構成する方法を考えていました...

つまり、aaaa.exe の実行は、それぞれのコマンド ライン オプションで aaaa.exe を生成する特定のフラグを指定して ADPlus を実行することで置き換えられます。

ウィンドウに画像実行フラグがあることは知っていますが、詳細はわかりません。

ありがとう。

編集1

コマンド ライン パラメーターを保持することが重要です。したがって、フラグを指定して aaa.exe を実行する場合、もちろん、デバッガーから aaa.exe を実行する場合も同様です。

4

1 に答える 1

2

気にしないで、見つけた。

  1. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image File Execution Optionsの下に、プロセスにちなんで名付けられたキー(aaa.exeなど)を作成します。
  2. 値がADPlus-crash-mss YourSymbolCacheFolderPath -MiniOnSecond -quiet -oYourDumpFolderPath -scの文字列値Debuggerを追加します。
于 2010-11-08T12:23:39.507 に答える