我的应用程序在 QA 环境中抛出 InvalidCastException,这是我在开发中无法重现的。
我希望在异常时刻获得小型转储。我知道 adplus,但我不确定如何使用它,以便在引发 InvalidCastException 时创建小型转储。显然,它不能将一个 .NET 异常与另一个区别开来。可能是我错了,有办法。或者,还有另一个工具可以做到这一点。最好是免费的。
无论如何,任何人都可以建议如何处理这个问题?
谢谢。
更新
- 该构建是 QA 和开发中的 Debug 构建。然而,QA 运行在实验室中可能实现的复杂场景,开发人员无法重现这些场景。因此,我需要在 QA 中运行时进行转储。
- 我可以修改代码并从代码创建小型转储。但是,我希望有一个更灵活的解决方案,这种解决方案不需要每次发生此类问题时都修改代码。
更新 2
实际上,我从 John robbins SuperAssert.Net 再次“窃取”了 minidump 生成代码,这是从某个具体点生成 minidump 的代码,而我需要一种更灵活的 adplus 风格的方法。John Robbins 的方法是创建一个 cdb 脚本,然后使用该脚本调用 cdb 调试器,使其附加到进程并创建转储。它不使用 MiniDumpWriteDump API。