問題タブ [windows-error-reporting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-error-reporting - アプリケーションのシャットダウンと Windows エラー報告
Vista 認定のために提出するために、アプリケーションを更新しようとしています。要件の一部は、既知の例外のみを処理し、Windows エラー報告ですべての未処理の例外を処理することです。
アプリケーション (イベントにサブスクライブApplication.ThreadException
) にグローバル例外ハンドラーがあり、そこで既知の例外に対して特定の処理を実行しますが、例外が不明な場合は、アプリを終了して WER を処理するために例外をスローします。
これを行う方法と、再スローした場合にコール スタックを維持する方法がわかりません。その後、コール スタックが再作成されます。
経由で終了することを検討しましたがEnvironment.FailFast()
、必要な例外情報が得られるとは考えていません。
明らかな何かが欠けていますか?
windows - MS クラッシュ レポーターからの情報を保存しますか?
Windows XP では、プロセスがクラッシュすると、リンクを含むダイアログ ボックスが表示されます。
「エラー レポートに関する技術情報を表示するには、ここをクリックしてください。」
「ここをクリック」リンクをクリックすると、ウィンドウに大量の情報が表示されますが、それをファイルに保存する明白な方法はありません。方法はありますか?そのデータを、私たちが協力しているいくつかの異なる外部ベンダーに送信できることは非常に素晴らしいことです.
ダイアログ ボックスに表示される他の唯一のオプションは、Microsoft に送信することですが、このクラッシュは Microsoft のせいではない可能性が高く、Microsoft に送信する理由はありません。
debugging - ハングしたアプリケーションからの Windows エラー報告ダンプを保持する
アプリケーションが時々ハングするので、その時のダンプを見て解決したいと思います。私が見ることができるダンプを自動的に作成するためにユーザーが実行できるアプリケーションを作成しました。ただし、何を試しても、ハングしたときに実行することをユーザーに覚えてもらうことはできないようです。彼らは常にプログラムを閉じてしまい、Windows エラー報告を呼び出します。
WER は一時ディレクトリにダンプを作成しますが、残念ながら Microsoft に情報を送信するかどうかのダイアログが閉じられるとすぐに削除されます。
ISV になって Microsoft のエラー報告サーバーからこの情報を取得することは 1 つの解決策ですが、現時点では現実的ではありません。
この問題に直面しているのは私だけだとは想像できません。ソフトウェアは何十人ものスタッフによって同時に使用されているため、すべての人に連絡してアプリケーションを実行させるか、他のアプリケーションなどを実行するまでそのダイアログを閉じるをクリックしないでください。
アプリは Windows Server 2003 で実行されています。Server 2008 には LocalDumps オプションがいくつかあり、それを保持できることを知っているので、残念です。
これらのダンプを何らかの方法で保存して、分析できるようにするためのアイデアはありますか? 障害はユーザーです。私は彼らの頑固さを受け入れており、他のアプリケーションを実行したり特別なことをしたりすることを期待していません。
アドバイスをありがとう!
windows - Windows Vista で [アプリケーションをデバッグ/閉じる] ダイアログを無効にするにはどうすればよいですか?
Windows でアプリケーションがクラッシュし、Visual Studio などのデバッガーがインストールされている場合、次のモーダル ダイアログが表示されます。
【タイトル:マイクロソフト・ウィンドウズ】
X が機能しなくなった
問題が発生したため、プログラムが正しく動作しなくなりました。Windows はプログラムを終了し、解決策が利用可能かどうかを通知します。
[デバッグ][アプリケーションを閉じる]
このダイアログを無効にする方法はありますか? つまり、プログラムがクラッシュして静かに焼き付くだけですか?
私のシナリオは、いくつかの自動テストを実行したいと考えています。そのうちのいくつかは、テスト対象のアプリケーションのバグが原因でクラッシュします。これらのダイアログが自動化の実行を停止させたくありません。
周りを検索すると、Windows XP でこれを無効にするための解決策を見つけたと思います。これは、このレジストリ キーを無効にします。
HKLM\Software\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
ただし、これは Windows Vista では機能しませんでした。
minidump - 「ngen」されたイメージの WER ミニダンプをデバッグする方法
インストール時に .NET マネージド アプリケーションで ngen が実行され、アプリの Windows エラー報告からクラッシュ ダンプが取得された場合、それを使用してスタック トレースや変数などを確認するにはどうすればよいでしょうか?
質問に関連する背景を次に示します。インストール時に生成される .NET アプリがあります。未処理の .NET 例外が原因でクラッシュした場合、クラッシュは Windows エラー報告に分類され、そこから winqual.microsoft.com から minidump.mdmp ファイルをダウンロードできました。
クラッシュしたアプリのビルド用の .dbg ファイルを含むフォルダーに minidump.mdmp を配置し、minidump.mdmp をダブルクリックして、VS2008 SP1 の新しいインスタンスで開きました。私のスタック トレースは次のようになります。
kernel32.dll!RaiseException() + 0x3d バイト
mscorwks.dll!RaiseTheExceptionInternalOnly() + 0x295 バイト
mscorwks.dll!JIT_Throw() + 0x130 バイト
MyApp.ni.exe!000007feee74c84c()
[以下のフレームは正しくないか、欠落している可能性があります。 MyApp.ni.exe のシンボルがロードされていません]
0000000070000d5e()
MyApp.ni.exe!000007feee611000()
000000000300bf78()
000000000300bf60()
[モジュール] ウィンドウには、OS および .NET DLL のシンボルが読み込まれていることが示されますが、アプリケーション モジュールの場合は次のようになります。
MyApp.exe -> シンボル ファイルにネイティブ シンボルがありません。
MyApp.ni.exe -> 一致するバイナリが見つかりません。
MyAppsLibrary.ni.dll -> 一致するバイナリが見つかりません。
.net - Windowsエラー報告用の.NetAPIはありますか
Windowsエラー報告をアプリケーションに統合するための.NetAPIはありますか?
私は主に、アプリケーションで発生する致命的でないエラーに対してもエラーレポートを開始することに関心があり、見つけることができるのはWIN32APIだけです。
outlook-addin - Outlook COM アドインから Windows エラー報告を手動でトリガーする
Visual Studio 2008 と VSTO を使用して Outlook COM アドインを作成しています。アドインで例外が処理されない場合、Windows エラー報告 (WER) をトリガーしたいと考えています。当社は WinQual にアクセスできるため、プログラムで発生したユーザーからの WER レポートのレポートを取得できます。これを行う方法はありますか?
私が知る限り、これは不可能ですが、方法があるかどうかを確認したかったのです。WER は、アプリケーションが未処理の例外を生成した場合にのみトリガーされます。Outlook で実行される Outlook アドインと Outlook には、COM アドインへの呼び出しの周りに例外ハンドラーがあり、COM アドインが原因で Outlook がクラッシュするのを防ぎます。Outlook はクラッシュしないため、WER はトリガーされません。
windows-error-reporting - Windows 一時ディレクトリに対して WER の「追加ファイルの要求」を実行する方法はありますか?
私の会社では、インストールの問題のように見えるものが原因で、Windows エラー レポートに多数のクラッシュが報告されています。通常、インストールのログは windows\temp ディレクトリにあります。インストールログファイルを「追加ファイルのリクエスト」エントリとして含めたいのですが、提供されている環境変数のリストのサブディレクトリにアクセスする方法がないようです。Windows 一時ディレクトリは、作業できる値のリストにないため、行き詰まっています。
一般に、「追加ファイルのリクエスト」を介してほとんど何でも利用できる方法がわかりません。たとえば、%programfiles% ディレクトリには有用なファイルを含めるべきではなく、製品のサブディレクトリに配置する必要があります。私は何が欠けていますか?
minidump - WER で追加データを要求する方法は?
私は WER を初めて使用します (実際、数日前に登録したばかりです)。
アカウントを確立し、テスト アプリケーションをそれにマップすることができました。
ただし、未処理の例外を呼び出すと、追加のファイルが収集されていないことがわかります (BucketID <> 8 の適切なレポートがソリューション センターにあり、winqual にはまだ到着していませんが、少なくとも送信されました)。
Version.txt、AppCompat.txt、minidump.mdmp などのファイルが収集されることを期待しています。また、 WerRegisterFile 関数を使用してファイルを追加しようとしました。エラーはありませんが、ファイルも送信されません。
このスレッドを読みました- サーバーが要求した場合にのみ、追加のデータが収集されると書かれています。それで、私の質問は(ばかげているように聞こえるかもしれませんが...)、追加のデータを要求するにはどうすればよいですか? プロファイル内のすべてをスキャンしましたが、有用なオプションは製品/ファイル マッピングに関連するものだけです。
これは明らかなはずだと思います(ヘルプでは説明されていません)が、...行き詰まっています:(どこを見るべきかを示すスクリーンショットがいいでしょう:)
windows - Win32: クラッシュする方法は?
Windows エラー レポートが保存されている場所を把握しようとしています。今日の早い時間に [送信] をクリックしましたが、メモリのミニダンプを調べることができるように「詳細を表示」することを忘れていました。
しかし、それらがどこに保存されているかを見つけることができません(そしてGoogleは知りません)。
そこで、クラッシュするダミー アプリケーションを作成し、WER ダイアログを表示し、[詳細を表示] をクリックして、ダンプが保存されているフォルダーに移動できるようにします。
Windows でクラッシュするにはどうすればよいですか?
編集:私が尋ねる理由は、スタックをオーバーフローさせ、浮動小数点をゼロで除算しようとしたためです。スタック オーバーフローによりアプリが消えますが、WER ダイアログはポップアップしません。ゼロによる浮動小数点除算は +INF になりますが、例外もクラッシュもありません。