Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法将Windows崩溃报告重新定向给应用程序开发人员?_Windows_Crash_Crash Reports_Crash Dumps - Fatal编程技术网

有没有办法将Windows崩溃报告重新定向给应用程序开发人员?

有没有办法将Windows崩溃报告重新定向给应用程序开发人员?,windows,crash,crash-reports,crash-dumps,Windows,Crash,Crash Reports,Crash Dumps,很抱歉,我不知道我所指的系统的正式名称,下面是显示对话框的屏幕截图(注意:不要将“Shell”和Windows Shell混淆,在本例中,“Shell”是正在崩溃的进程的名称): 两个问题: 屏幕截图中显示的系统/技术的名称是什么?不是正在崩溃的应用程序,而是正在处理崩溃、收集并发送转储文件的系统 如果我的应用程序由于某种原因无法处理或捕获所有异常,是否有方法将崩溃数据的发送重定向到我指定的收件人?或者注册一个处理器什么的?例如,如果我的应用程序崩溃,用户单击“发送信息”按钮,我可以将该信息发

很抱歉,我不知道我所指的系统的正式名称,下面是显示对话框的屏幕截图(注意:不要将“Shell”和Windows Shell混淆,在本例中,“Shell”是正在崩溃的进程的名称):

两个问题:

  • 屏幕截图中显示的系统/技术的名称是什么?不是正在崩溃的应用程序,而是正在处理崩溃、收集并发送转储文件的系统
  • 如果我的应用程序由于某种原因无法处理或捕获所有异常,是否有方法将崩溃数据的发送重定向到我指定的收件人?或者注册一个处理器什么的?例如,如果我的应用程序崩溃,用户单击“发送信息”按钮,我可以将该信息发送到我的电子邮件地址或其他端点吗

  • 您的大部分问题已由以下人员回答:


    这是WER对话框,崩溃激活的Windows错误报告。一个由微软编写的组件,它向Redmond的服务器发送崩溃信息。微软用它来修复他们可以修复的bug。但在你的情况下,很可能是你的bug,他们不会修复它。但是你可以通过以下方式获得我们收集的信息

    请注意,您需要一个代码签名证书来完成注册,还需要一些额外的步骤来识别您的应用程序。您只会得到小的转储(<~1MB),这有时没有帮助(通常对.NET没有帮助)

    @汉帕桑还指出了如何自己处理撞车事故:

    或者你创建了自己的服务,必须开始使用,这样你才能在WER之前获得崩溃信息

    但是,还有几个选项可以获得转储:

    • 有一个名为的注册表项,可用于在本地磁盘上保存转储。请考虑在你需要的时候打开它,否则它会很容易地填充你的客户的硬盘。如果故障在客户现场可再现,但在您的机器上不可再现,则此操作非常有效

    • 使用免费库,如(开源;请检查)或。这可能有一个缺点,即您需要设置一个服务器来收集数据

    • 请参阅我在答案中描述的更多选项,这些选项也适用于本机应用程序


    这是WER对话框,崩溃激活的Windows错误报告。一个由微软编写的组件,它向Redmond的服务器发送崩溃信息。微软用它来修复他们可以修复的bug。但在你的情况下,很可能是你的bug,他们不会修复它。但是你可以通过以下方式获得我们收集的信息。或者您创建自己的服务,该服务必须从SetUnhandledExceptionFilter()开始,这样您才能在WER之前获得崩溃信息。