创build并发送崩溃报告

有没有人有任何build议或教程创build程序崩溃报告? 我想开始发送一个我一直在开发给人们的游戏,但是如果游戏通过error handling崩溃,我想看到这些报告到我已经注册的电子邮件地址(以及从程序收集的数据)。 有谁知道如何做到这一点?

如果您使用Visual Studio 2010,则可以使用内置的错误报告。 然后您可以向Microsoft注册,请参阅http://msdn.microsoft.com/zh-cn/isv/bb190483

执行崩溃报告最直接的方法是在代码中使用try-catch语句。 发生异常时,创建一个临时日志文件,其中包括发生崩溃的异常类型,源代码类,函数和行以及全局和本地变量/容器的数据,其中一些应包含用户输入。

您不会通过电子邮件发送错误日志,但是您的程序将打开一个端口并将数据发送到服务器,该服务器会连续侦听预定义的端口以获取错误报告。

更高级的错误报告可以包括内存转储和寄存器的值。 要读取内存值,一个快速又脏的方法是使用一个指针来迭代地读取堆栈区域的值。 对于寄存器值,您可以使用asm关键字。

您可以使用Debug帮助库中的MiniDumpWriteDump函数来创建具有来自每个线程的堆栈转储的转储文件。 我相信你可以在Visual Studio中打开文件,并查看它的调试器(或接近)。

Maciej Sinilo的博客上有一些很好的示例代码(他也是一名游戏程序员)。 代码包括如何从崩溃中获取信息(例如,它是一个无效的读取或写入)和调用堆栈或小型转储。 这足以让我开始添加一个崩溃处理程序到我们的测试系统。

希望有所帮助。

如果您想要通过互联网进行某种现成的错误报告,您应该查看EQATEC分析

它有一个可用的C ++接口。