【问题标题】:How can I test Windows Error Reporting?如何测试 Windows 错误报告?
【发布时间】:2011-03-03 17:49:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: windows error-handling winqual


    【解决方案1】:

    [...] 我们可以从 开发者机器,然后检索 来自 Winqual 的报告?

    • 为您的应用程序构建一个特殊的测试版本
    • 将此测试版本的产品映射上传到 WER
    • 在启用了错误报告的机器上崩溃测试版本
    • 检查 Winqual,几天后应该会显示报告
    • 如果报告中没有 CAB 数据,请启用附加数据请求(在 Winqual 中)
    • 在启用了错误报告的机器上再次崩溃测试版本
    • 检查 Winqual,几天后应该会收到一份包含 CAB 数据的报告
    • 下载 CAB 数据并检查它是否/是否包含您需要的内容(您需要使用 WinDbg 来获得全貌,VS 在 minidump 方面不如 WinDbg 彻底)

    我们如何区分这个测试 我们 Winqual 其余部分的案例 数据?

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

    【讨论】:

    • 我还在我们的应用程序中使用了一个特殊的插件,它不会发送给客户,而是通过取消引用 NULL 指针来强制崩溃。通过这样做,您就有了一种可重现的方式来按需使程序崩溃。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-04-30
      • 2013-06-19
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2019-07-05
      相关资源
      最近更新 更多