c# - 是否可以编写一个看门狗进程来捕获应用程序崩溃?

标签 c# windows process crash

我们正在开发一款几乎没有错误的视频游戏,就像任何应用程序一样,存在有时会导致严重崩溃的错误。不幸的是,由于我们使用的是闭源中间件(Unity 3D),到目前为止,我们记录的许多崩溃都超出了我们的控制范围,无法解决或解决它们。

虽然我们可以希望并等待中间件开发人员解决问题,但我们希望看看是否有可能至少使崩溃信息更丰富且用户友好。例如 - 我们的用户可能遇到的罕见崩溃之一是某些 AV 产品会导致某种线程上下文竞争条件并导致游戏崩溃。我们希望能够检测崩溃和错误签名,并向用户提供指向我们的 wiki 或论坛的链接,了解如何解决该问题(如果可能)。

是否可以编写一个轻量级看门狗进程或父进程来响应 Windows 平台上的崩溃事件?

最佳答案

在崩溃进程之外收集故障转储至关重要。您永远不知道未处理的异常处理程序是否受到影响。但还有其他选择:

  • 启用 WER LocalDumps并为存储转储的目录编写一个看门狗(FileSystemWatcher)。
  • 配置AeDebug并在崩溃时附加您自己的调试器。

关于c# - 是否可以编写一个看门狗进程来捕获应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754074/

相关文章:

c# - 接口(interface)继承 - 好事?

c# - 如何通知 TrulyObservableCollection 中的单个属性更改或修改

c++ - LoadLibrary调用DLL时查找依赖的DLL

java - 鼠标显示颜色

python进程包装器

c# - UWP - TextBox 在 Windows 10 build 14393 中缺少换行符 (\n)

c# - Asp MVC 和 Web Api 异步 Controller

c - C 代码的 R 内联编译在 Windows 上失败

c++ - 检查进程用户是否是管理员c++

linux - 我应该如何在后台运行我的 Golang 进程?