[转载]程序崩溃后如何更好的反馈信息

[转载]程序崩溃后如何更好的反馈信息 – 2012 – 博客园.

我们使用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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏