stevenyao

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  22 随笔 :: 1 文章 :: 67 评论 :: 0 Trackbacks

今天尝试集成了CrashRpt,感觉还不错,功能很完善,集成也很容易。http://code.google.com/p/crashrpt/

下载以后解压缩,虽然有现成的Dll,EXE,但是还是建议自己编译,因为这个CrashRpt需要和你程序共享一样的vc runtime dll,否则某些异常截获不到。
编译很简单,有现成的VC 工程,支持 2005, 2008,就是需要WTL支持下载 WTL 80, http://sourceforge.net/projects/wtl/但是有一个小问题,如果你用VC Express版本的话,那么是没有ATL的,如果你装的Windows Plarform SDK是2008的话,那么就彻底杯具了,也没有ATL(在这个开源的大时代,微软连ATL这破东西都不舍得开放),解决方法是安装 2003版本的SDK,如果你能找到的话,或者找别人copy一份ATL ,就在SDK\include\atl目录下。http://www.cppblog.com/Files/stevenyao/atl.7z   我自己打包了一份ATL,希望微软不要告我。。。

然后,http://crashrpt.sourceforge.net/docs/html/simple_example.html 到这里抄个例子

info.pszEmailTo = _T("myapp_support@hotmail.com"); //改成你自己的email
随便写个什么程序,自己弄个crash出来,注意,需要把下列文件复制到你的程序的exe目录
CrashRpt.dll
CrashSender.exe
dbghelp.dll
crashrpt_lang.ini
好了,测试下吧,应该会提示程序崩溃,是否发送crash log的对话框。如果发送,那么会在email里收到一个zip文件,和一个zip的md5校验码。
这个zip文件里包含有crashdump.dmp 和 crashrpt.xml, xml只是些信息,dmp是Crash dump可以用vc直接打开,如果你有源代码和所有符号表,那么就能还原当时崩溃的现场。 
posted on 2010-03-17 23:58 姚冬 阅读(2977) 评论(3)  编辑 收藏 引用

评论

# re: 集成 CrashReporting,收集用户崩溃报告 2010-03-18 08:52 Kevin Lynx
没想到这种东西有这么现成的。我们还是自己写的崩溃捕获。可以根据pdb文件dump出崩溃时刻的调用堆栈之类的。收藏了。  回复  更多评论
  

# re: 集成 CrashReporting,收集用户崩溃报告 2010-03-19 10:02 megax
无法捕获over buffer的.  回复  更多评论
  

# re: 集成 CrashReporting,收集用户崩溃报告 2010-03-19 12:06 99书城专卖店
时的肌肤的实施  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理