インターネットでダウンロードできるWPF/.Net3.5でアプリケーションを開発しています。私は、可能な限りバグのないコードを記述し、必要な場合にのみ例外を使用しています。しかし、ソフトウェア開発に関する私の経験では、ユーザーは常に奇妙なことを何とかして、想像もしなかった方法で例外がスローされることを示しています。未処理の例外をキャッチする必要がある場合は、追加情報を収集したいと思います。これまでのところ、私は以下をキャプチャしています。
- 標準の例外フィールド(メッセージ、タイプ、スタックトレースなど)
- OSバージョン
- .Netバージョン
- AppDomainにロードされたアプリケーションDLLのバージョン
- アプリのライセンス情報
- ユーザーが実行した最後のいくつかのコマンドのインストルメンテーション。
私はそのようなことを信じていないので、ユーザーに関する「個人」情報を取得したくないことを非常に意識しています。したがって、ユーザー名/ドメイン/ IPアドレスを気にする必要はありません(ただし、例外情報はWebサービスに配信されるため、本質的にIP情報を取得しますが、プロキシマシンの場合もあります)。
私の質問
アプリケーションをパブリックドメイン(つまり、管理された企業環境にないコンピューター)にリリースした人は誰でも、エラーの原因を追跡するのに役立つ他の何かを提案できますか?
特に、管理/コーディングできない情報を収集したくありません-つまり、PCで使用可能なメモリの量、または接続されているプリンタの種類-これらは.net Frameworkによって処理されるため、実際には収集すべきではありません(読み取り:そこにあるバリエーションに対処するために私のコードを変更する必要はありません!
ありがとう!