在集成调试器中,有一个隐式变量用于异常

Gar*_*ker 8 delphi debugging

我想在调试器中检查异常。

当我有

except on e:exception do
Run Code Online (Sandbox Code Playgroud)

这很简单,我可以检查一下e变量

但是,许多异常处理程序没有on e:exception子句。

是否有可以检查的特殊变量(例如$ exception)或其他不需要更改源的异常检查方法。

我记得这样做(尽管内存可能有问题),但是还没有找到一种方法来做到这一点。

Dav*_*nan 13

在该System单元中,有一个名为的函数ExceptObject,该函数返回当前处于活动状态的异常对象,或者nil如果没有异常处于活动状态,则返回该异常对象。调试器能够评估此功能,因此可以为您提供所需的信息。

  • 为了在调试器中获得更多有用的信息,您可能必须将函数的结果强制转换为Exception,因为其返回值为TObject。因此在您的调试器中:Exception(ExceptObject)-并且不要忘记在监视设置中启用函数调用。 (4认同)