2010-03-24 36 views
2

我正在WPF/.Net 3.5中開發一個應用程序,可以在互聯網上下載。我 - 盡我所能 - 編寫無缺陷代碼,並僅在必要時使用異常。然而,我的軟件開發經驗表明,用戶總是設法做一些奇怪的事情,導致異常以一種你無法想象的方式拋出。當我需要捕捉未處理的異常時,我想收集更多信息。到目前爲止,我捕捉了以下內容:WPF - 處理未處理的異常時要捕獲哪些信息?

  • 標準異常字段(消息,類型,堆棧跟蹤等)
  • OS版本
  • .NET版本的應用程序的DLL
  • 版本加載到AppDomain中
  • 應用程序許可證信息
  • 檢測由用戶執行的最後幾條命令。

我很想知道,我不想捕獲有關用戶的任何「個人」信息,因爲我只是不相信這種事情。因此,不用打擾用戶名/域名/ IP地址(儘管作爲例外信息被傳遞給web服務,我將固有地獲得ip信息,但它可能是代理機)

我的問題

任何人誰也發佈了一個應用到公共領域(即到計算機上的不可控的企業環境) - 你可以建議其他任何將在追查錯誤的原因有用?

特別我不想收集我無法管理/編碼的信息 - 即, PC上可用的內存量或連接的打印機類型 - 這些東西是由.net框架處理的,我不應該(閱讀:不想)必須改變我的代碼以應付變化在那裏!

謝謝!

回答

0

我認爲這應該夠了。您有關於環境的信息,用戶想要做什麼以及最重要的調試工具之一:堆棧跟蹤。

除非你在談論打印機管理應用程序或其他東西,否則打印機信息將不值得。

總會有這樣一個遠程機會,您將遇到由硬件,運行服務,安裝的應用程序和月相組成的奇怪組合而導致的錯誤。我認爲爲了處理這些罕見的錯誤而瘋狂地收集關於用戶環境的信息是不值得的。

只要記住有一種方法可以聯繫您的錯誤報告,以防用戶確實需要修復其特定問題,以便他可以提供更多關於該問題的信息並幫助您重現問題。根據您的目標受衆,您必須在諸如錯誤跟蹤器或簡單的電子郵件地址之間做出決定。