プログラムで(C#)クラッシュダンプを生成する必要があります。私が知っている唯一の方法は、イベントUnhandledExceptionを購読することです。しかし、私のハンドラーはヒットしません。 コードは次のとおりです。プログラムでクラッシュダンプをキャプチャする必要があります
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
}
アプリケーションはWinFormベースです。私は、ユーザーに何も行動しないで、完全なメモリダンプを生成する必要があります。使用されるAPIはDbghelpのものですが、ミニダンプだけを生成します。したがって、フル・メモリ・ダンプを生成できる使用する他のAPIについても知っておくと便利です。
.NETのstackoverflow例外はどうですか?このコードを使用して処理できますか? – Sandeep
問題は、実稼働環境に配備されている既存のアプリケーション内に統合されなければならないコードを書く必要があることです。したがって、例外のためにこのアプリケーションがクラッシュすると、コードはダンプをキャプチャする必要があります。あなたが共有したリンクは、別々に実行する必要のある外部ツールを使用して話します。これは、顧客によるアプリケーションの使用中に発生したクラッシュのダンプが必要であり、クラッシュが頻繁にまたはそれ以降に発生しない可能性があるため、望ましくありません。 – Sandeep
WER LocalDumpsは、実行する必要のあるツールではなく、単なるレジストリキーです。これはOSに統合されています。そして、私が言ったように、アプリケーション内でその問題を解決することはできません。私たちのアプリケーションの1つでは、未処理の例外ハンドラを完全に削除しました。なぜなら、確実に動作しなかったからです。 –