gpt4 book ai didi

.net - 如何在发生某个第一次机会异常时创建 .NET 进程的小型转储

转载 作者:行者123 更新时间:2023-12-03 15:24:37 26 4
gpt4 key购买 nike

我的应用程序在 QA 环境中抛出 InvalidCastException,这是我在开发中无法重现的。

我希望在异常时刻获得小型转储。我知道 adplus,但我不确定如何使用它以便在抛出 InvalidCastException 时创建小型转储。显然,它并没有将一个 .NET 异常与另一个区分开来。可能是我错了,有办法。或者,还有其他工具可以做到这一点。最好是免费的。

无论如何,有人可以建议如何处理这个问题吗?

谢谢。

更新

  • 构建是 QA 和开发中的 Debug 构建。但是,QA 会运行在实验室中实现的复杂场景,而开发人员无法重现这些场景。因此,我需要在 QA 中运行时进行转储的能力。
  • 我可以修改代码并从代码创建小型转储。但是,我希望有一种更灵活的解决方案,这种解决方案不需要每次出现此类问题时都修改代码。

  • 更新 2

    实际上,我已经从 John robbins SuperAssert.Net 中“窃取”了 minidump 生成代码。同样,这是从某个具体点生成 minidump 的代码,而我需要一种更灵活的 adplus 风格的方法。
    John Robbins 的方法是创建一个 cdb 脚本,然后使用该脚本调用 cdb 调试器以使其附加到进程并创建转储。它不使用 MiniDumpWriteDump API。

    最佳答案

    最简单的方法是让它一直冒泡出应用程序,让用户将其报告给 Microsoft,然后注册 Windows 错误报告。

    或者,您可以使用 John Robbins 的 SUPERASSERT .NET(或他的代码子集)手动捕获它。

    更新(对于非代码解决方案):看看系统内部人员的 ProcDump .

    关于.net - 如何在发生某个第一次机会异常时创建 .NET 进程的小型转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005175/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com