如何测试Windows错误报告?

如何测试Windows错误报告?,windows,error-handling,winqual,Windows,Error Handling,Winqual,我的公司通过Winqual参与Windows错误报告。我们想使用WERRegisterMemoryBlock向崩溃报告中添加一些附加数据。显然,我们希望在发布下一个版本之前确保这一功能正常。我们如何测试它 有没有办法在本地准确预览将要发送的内容?这是否真实地再现了我们能够从Winqual检索到的内容 或者,我们可以从开发人员机器生成一个真实的报告,然后从Winqual检索该报告吗?我们如何将此测试用例与Winqual数据的其余部分区分开来?最好的测试是映射产品的仅测试版本。您可以验证预期信息是否

我的公司通过Winqual参与Windows错误报告。我们想使用WERRegisterMemoryBlock向崩溃报告中添加一些附加数据。显然,我们希望在发布下一个版本之前确保这一功能正常。我们如何测试它

有没有办法在本地准确预览将要发送的内容?这是否真实地再现了我们能够从Winqual检索到的内容


或者,我们可以从开发人员机器生成一个真实的报告,然后从Winqual检索该报告吗?我们如何将此测试用例与Winqual数据的其余部分区分开来?

最好的测试是映射产品的仅测试版本。您可以验证预期信息是否存在,然后确保在发货前更改版本并上载新的产品映射文件

[…]我们是否可以从一份报告中生成一份真实的报告 开发人员计算机,然后检索 温奎的报告

  • 构建应用程序的特殊测试版本
  • 将此测试版本的产品映射上载到WER
  • 在启用错误报告的计算机上使测试版本崩溃
  • 检查Winqual,几天后应该会显示一份报告
  • 如果报告尚未附带CAB数据,请启用附加数据请求(在Winqual中)
  • 在启用错误报告的计算机上再次使测试版本崩溃
  • 检查Winqual,几天后,一份包含CAB数据的报告应该会等待您
  • 下载CAB数据并检查其是否包含您所需的内容(您需要使用WinDbg来获得完整的信息,VS在小型转储方面不如WinDbg彻底)
我们如何区分这个测试 我们其他人的案子 数据

  • 为测试版本指定一个特殊名称和版本(EXE名称和*.rc)
  • 仅仅使用不同的“产品名称”和“产品版本”(=WER友好名称)不足以获得额外的事件ID/bucket,但是对于应用程序映射,额外的EXE名称加上“产品名称”应该可以做到这一点

我还在我们的应用程序中使用了一个特殊插件,该插件不提供给客户,而是通过取消引用空指针来强制崩溃。通过这样做,您就有了一种按需破坏程序的可复制方式。