我正在 WPF / .Net 3.5 中开发一个可以在 Internet 上下载的应用程序。我 - 尽我所能 - 编写无错误代码,并仅在必要时使用异常。然而,我在软件开发方面的经验表明,用户总是设法做一些奇怪的事情,这会导致以一种你无法想象的方式抛出异常。当我必须捕获未处理的异常时,我想收集更多信息。到目前为止,我正在捕获以下内容:
- 标准异常字段(消息、类型、堆栈跟踪等)
- 操作系统版本
- .Net 版本
- 加载到 AppDomain 中的应用程序 DLL 的版本
- 应用许可信息
- 检测用户执行的最后几个命令。
我非常清楚我不想捕获有关用户的任何“个人”信息,因为我只是不相信那种事情。因此,不用担心用户名/域/IP 地址(尽管异常信息被传递到 Web 服务,我将固有地获取 IP 信息,但它可能是代理机器)。
我的问题
任何将应用程序发布到公共领域(即在不受控制的公司环境中的计算机上)的人 - 您能否提出其他有助于追踪错误原因的建议?
特别是我不想收集我无法管理/编码的信息 - 即 PC 上可用的内存量,或连接的打印机类型 - 这些事情由 .net 框架处理,我真的不应该(阅读:不想)必须更改我的代码以应对那里的变化!
谢谢!