gpt4 book ai didi

c# - 是否有支持混合 C++ 和 C# 应用程序的崩溃报告服务?

转载 作者:行者123 更新时间:2023-12-02 19:35:37 25 4
gpt4 key购买 nike

我当前正在使用 Windows 操作系统内置的 Windows 错误报告服务。它在很多方面都存在不足,包括自动化提交新构建以进行崩溃收集和实际崩溃分析。

我找到了一些选项,包括 Dr DumpCrashRpt适用于 C++ 应用程序。

我发现最吸引人的选项是 HockeyApp 。我的团队已经使用 HockeyApp 来托管移动应用程序以及构建我们的桌面应用程序。另外,它似乎比其他服务得到更好的支持和功能丰富。它似乎只支持 .NET 应用程序的崩溃报告。

我尝试收集崩溃报告的应用程序是一个混合 C++ 和 C# 应用程序。我不确定是否有可以处理两种语言的崩溃报告服务。

无需赘述,我的应用程序主要是封装在 native C++ 应用程序中的 .NET。我假设这意味着我需要一项服务来支持 C++ 崩溃报告。

总结一下:

  1. 如果我的应用程序主要基于 .NET,但包含在 native C++ 应用程序中,我是否需要仅支持 C++ 应用程序的崩溃报告服务?
  2. 是否有支持使用混合 C++ 和 C# 代码的应用程序的崩溃报告服务?

最佳答案

这些工具有一个缺点:它们使用未处理的异常处理机制并存在于您的进程中。如果您的应用程序被损坏,您就不能再依赖它来工作。我在 VB6 中遇到过这种情况,VB6 运行时被破坏,没有未处理的异常处理程序可以帮助我。

这也是 WER(Windows 错误报告)存在的原因。当您的进程即将终止时,Windows 本身仍然运行得很好。也许您也可以从它的功能中受益:WER LocalDumps Registry Key

在产品安装过程中设置此注册表项,它将把故障转储保存到文件夹中。当您的应用程序下次启动时,您可以对它们执行任何您想要的操作(也许需要征求用户的许可):

  • 分析故障转储(例如使用 ClrMd)并向您发送一些异常详细信息
  • 缩小故障转储并将缩小后的故障转储发送给您。 (将完整内存 .NET 转储转换为小型小型转储)
  • 根据要求,要求用户将完整的故障转储发送给您
  • 不要忘记一些清理工作

总而言之,我想说这并不难做到。对于学生来说可能是一个很好的项目。优点:你不需要关心所有的崩溃处理、指针损坏等,因为 WER 会为你做这些。你不能真的把事情搞砸。

哦,当你构建它时,请考虑将其构建为可重用组件并在 Github 上开源。我也需要那个。你不能再获得专利了,因为通过这篇文章我将声称“现有技术”:-)

关于c# - 是否有支持混合 C++ 和 C# 应用程序的崩溃报告服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46985805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com