程序崩潰后如何更好的反饋信息


我們使用Windows都知道,整個Windows和微軟提供的應用軟件的穩定性和崩潰后的體驗是逐步提升的。在大牛的作品《軟件調試》 中有描述。

在Windows下,軟件出錯,常見的報告手段:

1、事件日志:這里記錄了很多關鍵的錯誤信息

2、崩潰報告:可以自動提交錯誤的信息,或者手動提交,以不斷的改進軟件和方便排錯

3、專用的日志工具:如Netmon,sysinternal等

 

那我們的軟件在崩潰后如何處理呢?主要目的:

1、方便我們的排錯

2、提供更好的使用體驗

最近在設計一個應用系統時對這個問題進行處理。

這方面有比較多的參考:

首先在stackoverflow上可以看到,c++ release  program crashes report 

http://stackoverflow.com/questions/112831/how-to-get-a-stack-trace-when-c-program-crashes-using-msvc8-2005

以上有比較多的框架和工具

Windows應用程序處理的一個框架和詳細參考資料 

Integrating Crash Reporting into Your Application - A Beginners Tutorial

http://www.codeproject.com/Articles/308634/Integrating-Crash-Reporting-into-Your-Application

http://code.google.com/p/crashrpt/  

http://www.codeproject.com/Articles/1934/Post-Mortem-Debugging-Your-Application-with-Minidu 

Google breakPad

Google breakpad 是一個非常實用的跨平台的崩潰轉儲和分析模塊,他支持Windows,Linux和Mac和Solaris。由於他本身跨平台,所以很大的減少我們在平台移植時的工作,畢竟崩潰轉儲,每個平台下都不同,使用起來很難統一,而Google breakpad就幫我們做到了這一點,不管是哪個平台下的崩潰,都能夠進行統一的分析。現在很多工程都在使用他:最著名的幾個如Chrome,Firefox,Picasa和Google Earth。另外他的License是BSD的,也就是說,我們即便是在商業軟件中使用,也是合法的  

 http://code.google.com/p/google-breakpad/ 

http://bigasp.com/archives/450 

 

 調試Release發布版程序的Crash錯誤

 http://www.cppblog.com/Walker/articles/146153.html

http://blog.sina.com.cn/s/blog_48f93b530100fsln.html 

 

對於托管程序也有 Good crash reporting library in c#

http://stackoverflow.com/questions/49224/good-crash-reporting-library-in-c-sharp 

  

順便看到了這個比較有意思的內容,35個你也許不知道的Google開源項目 http://www.enet.com.cn/article/2009/1228/A20091228592251.shtml 

 

由於我的應用 需要處理跨平台問題,因此使用了Google breakPad

順便把整理的資料放在了skydriver上,   

https://skydrive.live.com/#cid=56B433AD3D1871E3&id=56B433AD3D1871E3%21427

https://skydrive.live.com/view.aspx?cid=56B433AD3D1871E3&resid=56B433AD3D1871E3%21433 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM