是否有可能编写一个看门狗进程来捕获应用程序崩溃?

时间:2015-01-03 10:58:20

标签: c# windows process crash

我们正在开发一种视频游戏,几乎没有错误就像任何应用程序一样,有时会导致硬崩溃的错误。不幸的是,由于我们正在使用的闭源中间件(Unity 3D),我们迄今为止编目的许多崩溃都无法控制,因为它们能够解决它们或解决它们。(/ p>)

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

是否可以编写可以响应Windows平台上崩溃事件的轻量级监视程序进程或父进程?

1 个答案:

答案 0 :(得分:2)

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

  • 启用WER LocalDumps并为存储转储的目录编写监视程序(FileSystemWatcher)。
  • 配置AeDebug并在崩溃时附加您自己的调试器。