无法在asmjit

时间:2016-11-02 13:42:53

标签: c++ exception jit asmjit

我正在使用asmjit,但我遇到了一个问题。当生成的jit代码(x64)中调用的函数抛出c ++异常时,即使我在jit函数调用之外执行try-catch也无法捕获它,为什么会这样,我怎样才能捕获异常? / p>

1 个答案:

答案 0 :(得分:0)

asmjit的作者PetrKobalíček通过电子邮件回答,非常有帮助:

它在很大程度上取决于您的目标操作系统。 AsmJit没有为异常处理提供任何帮助,因此您需要自己处理异常。

如果您使用的是Windows,可以查看:   https://msdn.microsoft.com/en-us/library/1eyas8tf.aspx

此外,检查其他JIT引擎(如V8)可以帮助您了解JITted代码通常如何处理异常。在Windows上,您可以为JIT代码使用的整个虚拟地址空间安装异常处理程序,这样您就不必为每个函数嵌入展开数据。