1

V8 が組み込まれた C++ で Windows サービスを開発しました。デバッグ版は正常に動作しています。問題は、リリース バージョンがまったく機能しないことです。

VisualStudio 2010 を使用して V8 エンジンを static-lib ファイルにコンパイルしました。サービスのデバッグ バージョンを V8 デバッグ ライブラリとリンクし、サービスのリリース バージョンを V8 リリース ライブラリとリンクしました。

リリース バージョンでは、プログラムの最初の行に SegmFault が表示されHandleScope v8Scope;ます。(v8 エンジンのローカル スコープをインスタンス化しました)。

残念ながら、リリース バージョンを実行しているためデバッグできません。また、デバッグ バージョンでは正常に実行されているため、何が問題なのかわかりません。

スコープをインスタンス化しようとすると、SegmFault を受け取る理由がわかりません。

この状況に対処する方法について何か提案はありますか?

後で編集:

次のコードを使用して、現在の Isolate が NULL であることを認識しました。SO、私の質問は、NULL ではない Isolate コンテキストを作成する方法です。

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

ありがとうございました、

4

1 に答える 1