RakNet(54)学习 -- Crash Reporter(崩溃报告器)

66 篇文章 2 订阅

崩溃报告器概览

 

Minidumps使得崩溃报告功能容易实现

       CrashReporter可以在RakNet/Samples/CrashReporter中找到,仅仅可以用于Windows平台,它的作用是调试无监控的服务器或游戏客户端。当崩溃发生时,CrashReporter会捕捉异常,写一个minidump,然后将信息写到磁盘或发送emailEmail的操作可以是交互式,打开用户的email客户端。或者是非交互式的,使用EmailSender类连接到mail服务器,自动发送崩溃报告。

 

CrashReporter.h中复制

       Minidump可以在visual studio中打开,可以查看在何处发生了崩溃,给出你本地的变化值。

 

如何使用minidump

       在硬件驱动器上放置minidump,双击它可以打开,使用Visual Studio打开。它会自动在引起崩溃的exe文件所在的目录寻找该exe文件。如果无法找到该exe文件,或者exe文件是不同的另外的文件,vs会在当前目录查找这个exe文件。如果仍然找不到,或者找到的文件是不同的一个文件,它会加载vs,指明vs无法找到可执行模块。这时会给出没有源码的提示。然而,在工程属性窗口中的命令行参数中指定modpath=<pathToExeDirectory>。最好的解决方法是将.dmp文件拷贝到一个包含了崩溃exe文件复件目录下。

       一旦加载了,VS会寻找.pdb文件,这个文件用于查找源码文件和其他的信息。只要在你的硬盘上的源码文件与创建exe的相符就可以。如果不相符,你需要查看源代码,但是它可能是错误的源码。有三种方法处理这种情况。

       第一种方法是修改指定源码位置的路径,那么就不会自动查找到错误的代码。这会导致debugger不会发现在.pdb中指向的源码。Vs会提醒你正确源码的位置。

 

       第二中方法是在不同的路径路径构建一个exe文件。例如,当你在release 发布时使用的是c:/Working/Mygame路径,可以在c:/Version2.2/Mygame目录下重新构建exe文件。构建完成之后,保持本目录下的源码文件,exe,和pdb不变。当收到了崩溃的.dmp时,将它拷贝到exe相同的目录,也就是c:/Version2.2/Mygame/bin目录。这样.pdb文件会指向正确的崩溃源码上。

       第三种方法是保存构建的标记或源码控制中的分支,在调试之前得到这个版本 (你仅仅需要源码,.exe.pdb)。调试之后,保存你先前的工作。

 

使用:

 

       #include “DbgHelp.h”

       连接DbgHelp.libws2_32.lib库。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值