私は.netアプリケーションを実行しており、そのアプリケーションが頻繁にクラッシュする場合。私は、クラッシュ後に、アプリケーションを再起動するためのメッセージをユーザーに表示するようなクラッシュリカバリープロセスを提供したいと考えています。これをアプリケーション内で実行し、クラッシュした後でも実行するコードを書くことはどうでしょう。 はコードの奇妙なループのように聞こえるが、これについてのあなたの経験を知りたい。アプリケーションクラッシュを検出する方法は?
答えて
AppDomain.CurrentDomain.UnhandledException
イベントに登録して、イベントハンドラから処理することができます。
しかし、アプリケーションがクラッシュした場合、このイベントはまだ起動されますか?私はアプリケーション内のコードがまだクラッシュ後に実行されるロジックを見つけることができません –
クラッシュ後に解雇されます。そしてeveはバグレポートを電子メールまたはレポートサービスに送ることができます。 –
@Ali Tarhini:msdnは[.NET Frameworkバージョン4以降、このイベントはプロセスの状態を破損する例外に対して発生しません](http://msdn.microsoft.com/en-us/library/) system.appdomain.unhandledexception.aspx)。とにかくAppDomainがアンロードされます。このイベントの目的は、回復ロジックを実行することです。 –
クラッシュとはどういう意味ですか?例外が発生した場合は、tryとcatchを使用してこれらのエラーを処理できます。
例外がない場合は、プログラムがクラッシュしないようにコードを変更してください。
EDIT:可能な場合は最後に可能です。複数のスレッドで同じ変数を使用します。
メインメソッドでコードを記述します。 (Windowsアプリケーションまたはコンソールアプリケーションであると仮定すると、それは1つあります)。
基本的にはあなたの主な方法は、このような何かを探して終わる:
RunApplication
あなたはもともと
Main
に入れていたものですと
RunCrashRecovery
がクラッシュ情報を送信し、その場合、ユーザーに尋ねるコードである
public static Main(string[] args)
{
try
{
RunApplication(args);
}
catch(Exception ex)
{
RunCrashRecovery(args, ex);
}
}
再起動したい。
- 1. アプリケーションクラッシュを検出して再起動する最も良い方法は?
- 2. WPF vb.NETアプリケーションクラッシュをデバッグする方法は?
- 3. Qt、MainWindow用の新しいオブジェクト、アプリケーションクラッシュ、finished()シグナルの出力方法
- 4. JARファイルを検出する方法は?
- 5. は、メソッドを振っ検出xcode4で検出揺れ方法を検出する方法xcode4
- 6. アプリケーションの検出方法は?
- 7. WLANの検出方法は?
- 8. ブラウザプラグインの検出方法は?
- 9. EllipsisWordの検出方法は?
- 10. ルータの検出方法は?
- 11. ファイルの検出方法は?
- 12. Luceneフリーテキスト検索クエリで日付を検出する方法は?
- 13. MKannotationViewで吹き出しを検出する方法は?
- 14. 悪いビデオストリームを検出する方法
- 15. イオンアプリでマルチフィンガータッチを検出する方法
- 16. Javaでファイルカテゴリを検出する方法
- 17. ホストでアクセスファイルを検出する方法
- 18. ヘッドレスサービスのエンドポイントを検出する方法
- 19. es6モジュールをフィーチャー検出する方法
- 20. asp.netでウェブカメラを検出する方法
- 21. NSTextFieldでスペースキーを検出する方法
- 22. iScroll 5、スクロールイベントを検出する方法
- 23. MPMoviePlayerViewControllerのタッチを検出する方法
- 24. GCCスタックバッファオーバーフローを検出する方法
- 25. アンドロイドデバイスマイクのブローを検出する方法
- 26. PHPでドメインを検出する方法
- 27. イメージのホットスポットを検出する方法
- 28. tbbmallocでメモリリークを検出する方法
- 29. 隠しプロセスを検出する方法
- 30. WebBrowserコントロールでナビゲートする方法を検出する方法
また、クラッシュの詳細を提出して、これらのバグを修正できるようにすることをお勧めします。 :) –