在HandleScope构造函数的Windows上的V8中的SegFault

我开发了一个embedded了V8的C ++ Windows服务。 debugging版本运行良好。 问题是发行版本根本不起作用。

我将使用VisualStudio 2010的V8引擎编译为一个static-lib文件。 我将服务的debugging版本与V8debugging库以及服务的发布版本与V8版本库链接起来。

Release版本在程序的第一行HandleScope v8Scope;HandleScope v8Scope; 。 (我实例化了v8引擎的本地范围)。

不幸的是,我无法debugging,因为我运行的版本,我看不出有什么问题,因为在debugging版本运行正常。

我不明白为什么当我尝试实例化范围时收到SegmFault。

你有什么build议,我如何处理这种情况?

LaterEdit:

使用后续代码,我意识到当前的隔离是NULL。 所以,现在我的问题是如何创build一个不是NULL的隔离上下文。

 Isolate* isolate = Isolate::GetCurrent(); if (isolate==NULL) return; Locker v8Locker; HandleScope v8Scope(isolate); 

谢谢,

Solutions Collecting From Web of "在HandleScope构造函数的Windows上的V8中的SegFault"

如果有人有同样的问题,这里是答案:

由于某种原因,V8引擎似乎没有调用自己的初始化函数。 所以,如果你把行V8::initialize(); 作为你的程序的第一行,这将是好的。

要创建一个不为NULL的新的隔离,你必须调用Isolate *isolate=Isolate::New()