1

WinQual と WER を初めてセットアップした後、WER ダイアログが表示されることを期待して意図的にリリース ビルドにクラッシュを挿入しましたが、代わりに「ランタイム エラー! アプリケーションが異常な状態でランタイムを終了するように要求しました」というダイアログが表示されます。仕方..."。

WinQual のセットアップに関しては、すべてが正しく機能しているようです (すべてのサポート シンボル サーバー、ソース サーバー、WinQual アカウント、送信されたマッピング ファイル、およびそれらの存在を確認した WinQual アカウント)。ここで、ダンプ ファイルが作成され、WinQual に送信され、デバッグ用に取得できることを確認したいと思います。

PC (XP Pro SP3) のエラー レポートが有効になっていることを確認しました (システム プロパティ - エラー レポート)。プログラムに実際にWERダイアログを表示させるのではなく、上記のすべてを設定するのが難しい部分だと思いました。exeまたはPCに変更が必要ですか?

4

3 に答える 3

1

WinForms アプリケーションを使用している場合は、そのイベント ループに catch ハンドラーがあり、ダイアログがポップアップして、Windows エラー報告 (WER) が起動するのを防ぎます。

この呼び出しは、これが起こらないようにします。(http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/176b7f8c-3efb-4e6f-8deb-c685c62629db/)

修正する魔法の行:

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);
于 2011-11-18T10:31:40.070 に答える
1

私が(完全に)頭がおかしいわけではないことを知ってよかったです。外部の問題が WER の対話に問題を引き起こしていたのはあなたの言う通りです。

私のバージョンが残忍すぎる場合に備えて、クラッシュを上記のコードに変更し、アプリケーションを 3 台のマシンで実行しました。 WERダイアログに影響を与えます。興味のある人のために、これは私が見たものです:

  • XP と Visual Studio。デバッガーを選択するように求められ、[いいえ] を選択すると、プログラムは WER ダイアログなしで終了しました。
  • Visual Studio なしの XP。WER ダイアログを表示し、エラー レポートを送信しました (はい)。
  • Win7 と Visual Studio。まったくクラッシュしませんでした。
  • Visual Studio なしの Win7。まだテストしていませんが、正しく動作すると思われます。

あなたがほのめかしたように、クラッシュするコードと代表的でないテスト環境の組み合わせが私のテストを妨げていました。

本当にありがとう!

于 2011-05-18T20:20:16.700 に答える
0

アプリケーションを機能させるために必要なことは何もないはずです。WER ではうまく機能しない奇妙な方法でクラッシュしたのではないかと思います。アプリケーションの起動中ではなく、アプリケーションの初期化後にクラッシュを追加してみてください (そうしている場合)。私は通常、次のようなことをします:

int* p=0;
*p=1;

もう 1 つの可能性は、Visual Studio のジャスト イン タイム デバッガーが原因で、エンド ユーザーと同じ結果が得られない可能性があるため、一般的なエンド ユーザー コンピューターで試してみることです。さらに考えられるのは、お使いのマシンが XP であり、WER のサポートが XP の初期段階にあり、Vista と Win7 の方が優れている可能性があるため、新しいマシンでアプリをクラッシュさせてみてください。

于 2011-05-18T18:21:18.410 に答える