首先感谢您阅读本文和任何建议。
如何调试应用程序如何处理异常。这是一个带有内置异常处理的遗留代码库,最近已转换为 64 位。遇到错误/异常时,整个系统会挂起。
在常规应用使用期间,这些冻结无法可靠地再现。然而,应用程序中有测试代码会抛出重现冻结的未处理异常。
在调试器下运行时,它显然会在异常上中断 - 例如访问冲突 - 但到目前为止,我无法找到一种基本上告诉调试器将其传递给应用程序的方法。使用“继续”或步进似乎只是反复告诉我存在访问冲突。使用 WinDbg 而不是 VS 2010 也无济于事。
问:在 VS2010 或 WinDbg 中是否有一些可用的低级技巧可以让我中断异常,然后将其真正传递给应用程序进行处理以调试应用程序如何处理它?
或者换一种说法:我希望 VS2010 / WinDbg 向我展示在 / 响应异常之后执行的应用程序代码,而不是异常本身。
旁注:现在的目标是防止系统挂起,需要对计算机进行硬重置。“应该”避免仅应用程序崩溃,并且可以接受确定性应用程序关闭。
再次感谢,
编辑:在考虑 WhozCraig 的评论后,将“冻结”改为“挂起”,这可能是一个更好的术语。无论哪种方式,系统都不会响应任何用户交互 - 唯一的缓解是硬重置。