结合IronPython和CLI堆栈跟踪

Combine IronPython's and CLI stack trace

我有一个用Ironpython编写的应用程序,它使用从导入的.NET程序集(使用调试支持编译)中获得的类和方法。当程序集中的一个方法抛出异常时,它会作为异常(而不是System.Exception)被Ironpython代码捕获,并且跟踪在最后一个Ironpython方法结束。

我要做的是更深入地研究,并在最后一个Ironpython方法之后附加原始的cli回溯,以查看异常在程序集中发生的位置。

是否可以从捕获的Ironpython equivalient中获取原始CLI异常,或者在不丢失Ironpython堆栈跟踪的情况下捕获它?

谢谢。


您可以从scriptEngine.getService()获取ExceptionOperations对象。然后可以调用FormatException或GetStackFrames。还可以将exceptiondetail选项设置为true,以从formatexception获取更详细的堆栈跟踪。