2016-04-25 9 views
2

私はGoogleがでていることを例を実行しようとしているのVisual StudioでコンパイルされたV8 32ビットバージョン4.10.253 2015V8 ::アイソ::新ヌルアクセス違反

を使用しています: Chrome V8 - Getting Started

しかし、私はそれを実行しようとすると、私が手:以下が実行されたときに

Exception thrown at 0x00000000 in V8Test.exe: 0xC0000005: Access 
violation executing location 0x00000000. 

私はこれを取得:

Isolate* isolate = Isolate::New(create_params); 

マイプロジェクト設定:

デバッグでコンパイルするためのプロジェクトを取得するには、私はにランタイムライブラリを設定します。私は、ディレクトリが含まれ、追加の下のディレクトリを含めるV8を含ん

Multi-threaded Debug /MTd. 

最後に、私は次のライブラリが含まれます。

icuuc.lib icui18n.lib v8_libplatform.lib v8_external_snapshot.lib 
v8_base_3.lib v8_base_2.lib v8_base_1.lib v8_base_0.lib v8_libbase.lib 
winmm.lib 

誰もが私が間違ってやっているか知っていますか?前もって感謝します。

答えて

1

私は愚かだと感じます。私はチュートリアルの残りの部分を読み終えていませんでした。実行可能ファイルが格納されているすべての.binファイルをコピーする必要があります。具体的には

natives_blob.bin 
snapshot_blob.bin 

V8はIsolate :: Newでクラッシュします。

+1

だから私はno_snapshotを使用しています。起動時にはちょっと遅くなりますが、正しいbinファイルを扱う必要はありません。これはdebug/32と64ビット/バージョンのV8/etcに基づいています。追加の.1秒かそれ以上(私が測定したとき)を待って、もう一度それらを処理しない方が簡単です。代わりにexternal_snapshotをリンクし、no_snapshotをリンクしてください。 – xaxxon

+0

ニース!先端のおかげで、私はそのショットを与える必要があるだろう。 – Someone13

+1

また、そうでない場合は、デバッグビルド(make x64.debug)に対して開発していることを確認してください。クラッシュする前に、より良い失敗情報が得られます。それは素晴らしいことではありませんが、かなり良いです。また、私はスタックトレースも少し良いと思う。 – xaxxon