問題タブ [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.

0 投票する
2 に答える
548 参照

javascript - ブラウザがjsエラーを報告しなくなりました-YUI履歴マネージャー

YUIのブラウザ履歴マネージャを使用していますが、ブラウザがランタイムエラーを報告しなくなりました。エラーコンソールには引き続き解析エラーが表示されますが、たとえば、イベントハンドラー内で偽の関数を呼び出すと、ブラウザーはすべてのjs処理を停止するように見えます。エラーのある行に到達すると、firebugのデバッガーでさえ終了します。他の誰かがこれを見ましたか?YUIでもありますか?

0 投票する
4 に答える
269 参照

php - Webサイトでエラーが発生したときに、自動生成された電子メールが大量に発生するのを防ぐための手法

現在のWeb開発プロジェクトでは、エラーにフラグを付け、発生した内容の詳細を記載した電子メールを管理者に自動的に送信するバックエンドシステムを実装しています。エラーをトラップし、適切なエラー情報を含む電子メールを生成するのは非常に簡単です。ただし、特にサイトに頻繁にアクセスしている場合に、エラータイプの特定のグループを考慮すると、問題が発生します。

いくつかの例を考えてみましょう。

  1. Webサーバー上のすべてのスクリプトが接続できなくなる計画外のデータベース停止。データベースサーバーがオンラインに戻るのに2分(120秒)かかり、Webサーバーが10 /秒の速度で一意の要求を受信して​​いる場合、データベースサーバーがオンラインに戻るのにかかる時間内に管理者の電子メールデータベースへの接続の失敗について叫ぶ1200通の同一の電子メールが殺到するでしょう。
  2. スクリプトのバグは、テストによってなんとかこっそりと実行され、コンテンツの生成を完全に台無しにし、特定の状況でのみ発生するさまざまなものです(たとえば、100リクエストごとに1回)。一意のリクエストレートである10/秒を再度使用すると、管理者は、修正されるまで、同じバグについて10秒ごとに同じメールを受信することになります。

このシナリオの発生を防ぐために使用できるアプローチ/戦略は何ですか?(スクリプトによって生成されたエラーの監視にのみ関心があります。インフラストラクチャの問題はこのソリューションの範囲を超えています)

set_error_handlerによって設定されたエラーハンドラコールバックに渡された値の一部のダイジェストを使用して、ほとんどの場合、エラーを一意に識別できると想定します。

最初の、そしておそらく最も明白な解決策は、データベースに記録し、最後に発生してから妥当な最小期間が経過した場合にのみ電子メールを送信することです。これは、特にデータベースが問題を引き起こしている場合、理想的なアプローチではありません。別の解決策は、エラーが発生したときにファイルをディスクに書き込み、ファイルが最後に変更されてから妥当な最小期間が経過したかどうかを確認することです。私が説明した2つの方法以外に、この問題を解決するメカニズムはありますか?

0 投票する
8 に答える
4209 参照

windows - WinQual:WERがコード署名証明書を受け入れないのはなぜですか?

2015年1月24日現在の編集:現在、他の信頼できる認証局を使用することはできません。質問と回答は時代遅れではありません:

WinQualは引き続き署名を拒否します。

ここに画像の説明を入力してください

有効なデジタル署名であることをすでに確認している場合:

ここに画像の説明を入力してください

完全を期すために、他の誰かが行った編集を以下に残します。彼がどれほど間違っていたかを指摘するだけです。そして彼はその恥をもって生きることができます:


2014年現在の編集:他の信頼できる認証局を使用できるようになりました。質問と回答は廃止されました。


2005年に、MicrosoftでWinQualアカウントを確立しようとしたので、Windowsエラー報告(WER)を介して自動的に送信されたクラッシュダンプファイル(存在する場合)を取得できました。Verisign証明書を持っていないため、クラッシュダンプを取得できませんでした。代わりに、Verisignの子会社であるThawteによって生成された安価なものがあります。


参加する方法は次のとおりです。提供されているサンプルexeにデジタル署名します。これは、あなたが実際にクラッシュダンプを取得したアプリに署名したのと同じ署名者であることを証明しています。

暗号的には、実行可能ファイルにデジタル署名を生成するために秘密鍵が必要です。その秘密鍵の所有者のみが、一致する公開鍵の署名を作成できます。誰がその秘密鍵を生成したかは関係ありません。これには、以下から生成される証明書が含まれます。

ただし、MicrosofのWinQualは、Verisignによって生成されたデジタル証明書のみを受け入れます。Verisignの子会社でさえ十分ではありません(Thawte)。

マイクロソフトがコード署名証明書を受け入れたくないという技術的、法的、または倫理的な理由を誰かが考えることができますか?WinQualサイトによると:

Winqualメンバーシップにデジタル証明書が必要なのはなぜですか?

デジタル証明書は、スタッフのメンバーになりすましたり、会社に対して詐欺行為を行ったりする個人から会社を保護するのに役立ちます。デジタル証明書を使用すると、ユーザーまたは組織のIDを証明できます。

どういうわけか、Thawteデジタル証明書は安全ではありませんか?


2年後、クラッシュダンプを取得できるようになるのを待っているというリマインダー通知をWinQualに送信しました。WinQualチームからの回答は次のとおりです。

こんにちは、

念押し有難う。これはまだリクエストであると適切な人に通知しました。


2008年に、マイクロソフトのサポートフォーラムでこの質問をしましたが、回答は次のとおりです。

現時点では、VeriSign証明書のみを受け入れるように設定されています。他の種類の証明書をサポートするという圧倒的な要求はありませんでした。

他の種類の証明書を受け入れるための「セットアップ」ではないということは、おそらくどういう意味ですか?

WinQual.exeテストアプリに署名したキーのフィンガープリントが、実際に取得したクラッシュダンプである実行可能ファイルに署名したフィンガープリントと同じである場合、それは証明されています-それらは私のクラッシュダンプです。それらを私に渡してください。

また、他のすべてのデジタル署名とは対照的に、Verisignデジタル署名が有効かどうかを確認するための特別なAPIがあるわけではありません。有効な署名は、誰がキーを生成したかに関係なく有効です。

Microsoftは署名者を信頼しないことは自由ですが、それはIDと同じではありません。


それが私の質問です。WinQualがデジタル署名をサポートするように設定されていない実際的な理由を誰かが考えることができますか?

ある人は、答えは彼らがただ怠惰であるということであると理論づけました:

私は知りませんが、winQualシステムを実行しているチームはライブチームであり、開発チームではないと思います。たとえば、既存のシステムのメンテナンスに向けた個性とスキルセットです。私は間違っているかもしれません。

彼らはそれを変えるために仕事をしたくありません。しかし、誰かが変更する必要がある何かを考えることができますか?キーを生成したものに関係なく、同じロジックです。「指紋が一致しますか」。

私は何が欠けていますか?


アップデート

他の開発者の話を聞くのはいいことです。このようにして、私は自分が一人ではないことを知っています。この質問は、マイクロソフト側の変化の手段として役立つ可能性があります。そして、私の当初の意図が不平を言う暴言であったとしても、これを有効なStackOverflowの質問に保つために、 MicrosoftがVerisign証明書しか受け入れられなかった技術的な理由を探しています。

暗号化APIは、証明書を発行した会社の名前を気にしません。署名者のチェーンが信頼できるルートに戻ることだけを気にします。

Microsoftが特に確立された暗号インフラストラクチャを使用しておらず、代わりにVerisignに限定されている場合、何が起こっている可能性がありますか?

プログラムマネージャーや開発者が理由を説明しているブログエントリを誰かが指摘できれば、おそらく満足するでしょう。


アップデート2

人々は私の質問の要点を見逃しているようです。Windowsには、デジタル署名証明書がルート機関によって信頼されていることを確認するためのコードインフラストラクチャがすでに備わっています。これは、署名された実行可能ファイルの1つにあるデジタル署名のスクリーンショットです。

私たちの証明書がThawteのコード署名局の証明書によって署名されていることがわかります。この証明書はThawteによって署名されています。

代替テキスト

また、「thawte」証明書はデフォルトでWindowsに付属しています。

代替テキスト

Thawte Premium Server CAは、WindowsとInternetExplorerのすべてのコピーがすでにそれを信頼しているほど十分に優れています。また、証明書が有効(つまり信頼できる)かどうかを確認するための確立されたAPIがすでにあります。

WinQualの人たちがやって来たとき、彼らは正しい方法をチェックすることを避けるために邪魔をしなければならなかったでしょう、そして代わりに彼ら自身の解決策を転がし、信頼できるルートとしてVerisignだけをハードコーディングしました。なぜ彼らは他の信頼できるルート機関、コードが実行されているWindowsマシンで出荷される機関を無視し代わりにVerisignをハードコーディングするのでしょうか。

他のすべての人(Windows Explorer、Firefox、Chrome、Internet Explorer、Opera、CertMgrなど)のように行うのではなく、特にVerisignのみを許可します。そして私の質問はその理由です。

Why would WER not accept code-signing certificates?

単純な場合:

  • 最初にそれを書いた人は彼の頭のてっぺんから適切な方法を知らなかったので
  • 適切な方法を調査するために多くの時間を費やすのではなく
  • 彼はただ一緒に何かを投げました
  • テストのために、彼は1人の署名者だけをハードコーディングしました
  • 後で戻って修正するという完全な意図を持って
  • しかし、コードは現在機能しています
  • そしてそれは修正されずにライブになりました
  • そして誰もそれを壊す責任を負いたくない
  • そして誰もそれを修正するためにお金を使いたくない
  • そして、それを優先度を高くするために十分な顧客が不満を言っていません
  • 多くの人が不満を言っていたとしても、Verisignを購入するのはたったの99ドルです。
  • それで、あなたはそれを手放してベリサインのものを買うことができないのですか?

...それは大丈夫だろう。私がそれを信じないことを除いて。本番環境に移行したのはテストコードだとは思いません。他の署名者を無視させたのは、意識的で具体的な決定であると私は感じます。そして、彼らはベリサインを尊重するだけであり、これからもそうし続けるでしょう。

しかし、私の人生のために、私は理由を考えることができません。

0 投票する
4 に答える
1546 参照

python - wxPython が「未処理の例外」ダイアログを表示しないようにする

Python と wxPython で記述された複雑な GUI アプリケーションがあります。

Windows Vista で認定されるようにしたいので、Windows エラー報告ダイアログ (「レポートを Microsoft に送信しますか?」というダイアログ) が表示されるような方法でクラッシュする必要があります。これは、「 Certified for Windows Vista Test Cases」ドキュメントのテストケース No 32 に関連しています。

残念ながら、ThreadHijackerツール wxPython でアプリをクラッシュさせると、次のようなメッセージが表示されます。

wxPython がこのメッセージを表示しないようにするにはどうすればよいですか? 私は custom を持っていますsys.excepthookが、私の except フックが干渉する前にこのダイアログが表示されるようです。

編集:

wxWidgets docsによると、wxAppConsole::OnExceptionInMainLoopが呼び出され、MSW の下で、ユーザーがさまざまなオプションを選択できるようにするいくつかの派手なダイアログが表示されます。ただし、wxPython ではその関数のオーバーロードが許可されていないようです... wxPython でwxAppConsole::OnExceptionInMainLoopのデフォルトの動作を変更する方法を知っている人はいますか?
C/C++ に移行するソリューションよりも、Python レベルのソリューションを好みます

EDIT2:

全体として、wxPython メーリング リストで質問したところ、Robin Dunn は、wxPython の次のリリースでwxAppConsole::OnExceptionInMainLoop をオーバーライド可能にすることを検討すると答えました。待ちきれなかったので、その関数を含まない独自のバージョンの wxPython をコンパイルする必要がありました。wxAppConsole::OnExceptionInMainLoop関数の存在は、コンパイル フラグを適切に設定することで有効/無効にできることが判明しました 。

0 投票する
3 に答える
1134 参照

windows-xp - 「これについて Microsoft に伝えてください」ダイアログからエラー レポートを取得するにはどうすればよいですか?

私が書いたプログラムが起動時にクラッシュします。(Win XP)。

「この問題について Microsoft に連絡してください」というダイアログ。が表示されます。それは私のアプリなので、問題について教えてもらいたいです。

問題は、クリックスルー (リンクをクリック: 'エラー レポートの内容を表示する')、[エラー レポートの内容] ダイアログで、顧客がその内容をクリップボードにコピーできないことです。

ユーザーがこのレポートのコピーを取得して、開発者である私に転送する方法を知っていますか?

0 投票する
3 に答える
939 参照

php - PHPでの一元化されたエラーレポート

PHPで一元的にエラー報告を処理する方法はありますか?アプリケーションによって発生したすべてのエラーを電子メールで通知したいのですが。

アプリケーション全体でこれを実現するための最良の方法は何ですか?

ありがとう