2

我正在 WPF / .Net 3.5 中开发一个可以在 Internet 上下载的应用程序。我 - 尽我所能 - 编写无错误代码,并仅在必要时使用异常。然而,我在软件开发方面的经验表明,用户总是设法做一些奇怪的事情,这会导致以一种你无法想象的方式抛出异常。当我必须捕获未处理的异常时,我想收集更多信息。到目前为止,我正在捕获以下内容:

  • 标准异常字段(消息、类型、堆栈跟踪等)
  • 操作系统版本
  • .Net 版本
  • 加载到 AppDomain 中的应用程序 DLL 的版本
  • 应用许可信息
  • 检测用户执行的最后几个命令。

我非常清楚我不想捕获有关用户的任何“个人”信息,因为我只是不相信那种事情。因此,不用担心用户名/域/IP 地址(尽管异常信息被传递到 Web 服务,我将固有地获取 IP 信息,但它可能是代理机器)

我的问题

任何将应用程序发布到公共领域(即在不受控制的公司环境中的计算机上)的人 - 您能否提出其他有助于追踪错误原因的建议?

特别是我不想收集我无法管理/编码的信息 - 即 PC 上可用的内存量,或连接的打印机类型 - 这些事情由 .net 框架处理,我真的不应该(阅读:不想)必须更改我的代码以应对那里的变化!

谢谢!

4

1 回答 1

0

我认为这应该足够了。你有关于环境、用户试图做什么的信息,以及最重要的调试工具之一:堆栈跟踪。

除非您在谈论打印机管理应用程序或其他东西,否则打印机信息将不值得。

您总是有很可能会遇到由硬件、正在运行的服务、已安装的应用程序和月相的奇怪组合导致的错误。我不认为为了处理那些罕见的错误而疯狂收集有关用户环境的信息是不值得的。

只要记住有一种方式可以联系您获取错误报告,以防用户确实需要修复他的特定问题,以便他可以提供有关它的更多信息并帮助您重现它。根据您的目标受众,您必须在错误跟踪器或简单的电子邮件地址之类的东西之间做出决定。

于 2011-04-08T16:55:33.647 回答