2

インターネットでダウンロードできるWPF/.Net3.5でアプリケーションを開発しています。私は、可能な限りバグのないコードを記述し、必要な場合にのみ例外を使用しています。しかし、ソフトウェア開発に関する私の経験では、ユーザーは常に奇妙なことを何とかして、想像もしなかった方法で例外がスローされることを示しています。未処理の例外をキャッチする必要がある場合は、追加情報を収集したいと思います。これまでのところ、私は以下をキャプチャしています。

  • 標準の例外フィールド(メッセージ、タイプ、スタックトレースなど)
  • OSバージョン
  • .Netバージョン
  • AppDomainにロードされたアプリケーションDLLのバージョン
  • アプリのライセンス情報
  • ユーザーが実行した最後のいくつかのコマンドのインストルメンテーション。

私はそのようなことを信じていないので、ユーザーに関する「個人」情報を取得したくないことを非常に意識しています。したがって、ユーザー名/ドメイン/ IPアドレスを気にする必要はありません(ただし、例外情報はWebサービスに配信されるため、本質的にIP情報を取得しますが、プロキシマシンの場合もあります)

私の質問

アプリケーションをパブリックドメイン(つまり、管理された企業環境にないコンピューター)にリリースした人は誰でも、エラーの原因を追跡するのに役立つ他の何かを提案できますか?

特に、管理/コーディングできない情報を収集したくありません-つまり、PCで使用可能なメモリの量、または接続されているプリンタの種類-これらは.net Frameworkによって処理されるため、実際には収集すべきではありません(読み取り:そこにあるバリエーションに対処するために私のコードを変更する必要はありません!

ありがとう!

4

1 に答える 1

0

それで十分だと思います。環境、ユーザーが何をしようとしていたか、そして最も重要なデバッグツールの1つであるスタックトレースに関する情報があります。

プリンタ管理アプリケーションなどについて話しているのでない限り、プリンタ情報は価値がありません。

ハードウェア、実行中のサービス、インストールされたアプリケーション、およびムーンフェイズの奇妙な組み合わせに起因するエラーが発生する可能性は常にあります。これらのまれなエラーに対処するためだけに、ユーザー環境に関する情報を乱暴に収集する価値はないと思います。

ユーザーが特定の問題を修正する必要がある場合に備えて、バグレポートについて連絡できる方法を用意しておくことを忘れないでください。そうすることで、ユーザーはバグに関する詳細情報を提供し、再現に役立てることができます。ターゲットオーディエンスに応じて、バグトラッカーまたは単純な電子メールアドレスのようなものを決定する必要があります。

于 2011-04-08T16:55:33.647 に答える