2017-09-20 15 views
0

V8에서 스냅 샷 유틸리티를 사용하여 응용 프로그램 시작 성능을 높이려고했습니다. V8 블로그에서 지적했듯이 스냅 샷을 사용하면 초기화로 인한 시작 시간을 건너 뛸 수 있습니다.CreateSnapshotDataBlob이 실패했습니다.

StartupData snapshotDataBlob = V8::CreateSnapshotDataBlob(myScript); 

나는 스냅 샷을 만들 수 CreateSnapshotDataBlob을 사용하고, 나는 실패를 의미하는 NULLsnapshotDataBlob.data ==를 얻었다.

제 질문은 어떤 상황에서 CreateSnapshotDataBlob에 실패 했습니까?

+0

trycatch를 사용하여 예외를 잡아 낸 다음 인쇄하고 있습니까? 또한 최근 실패한 이유 중 하나는 스냅 샷을 찍을 때 지속성/전역 개체를 처리 할 수 ​​없다는 것입니다. – xaxxon

답변

0

CreateSnapshotDataBlob은 스크립트가 어떤 종류의 오류 또는 캐치되지 않은 예외로 실행되는 경우 실패합니다.

+0

이전에'ScriptCompiler :: Compile()'과'Run()'을 사용하여 같은 스크립트를 처리 했으므로 잘 작동했기 때문에 스크립트에 어떤 종류의 오류나 캐치되지 않는 예외가 있다고 생각하지 않습니다. –