2017-09-20 17 views
0

J'essayais d'utiliser l'utilitaire de capture instantanée dans V8 pour accélérer la performance de démarrage de l'application. Comme il est indiqué dans le blog V8, l'utilisation de snapshot permet d'éviter le temps de démarrage dû à une certaine initialisation.Échec de CreateSnapshotDataBlob

StartupData snapshotDataBlob = V8::CreateSnapshotDataBlob(myScript); 

J'utilisé CreateSnapshotDataBlob pour créer un instantané, et je me suis snapshotDataBlob.data == NULL, ce qui signifie un échec.

Donc ma question est, dans quelles circonstances CreateSnapshotDataBlob échoué?

+0

utilisez-vous une trycatch pour intercepter une exception et l'imprimer? En outre, l'une des raisons pour lesquelles j'ai vu ce problème échouer récemment est que vous ne pouvez pas avoir d'objets Persistant/Global en attente lorsque vous prenez l'instantané. – xaxxon

Répondre

0

CreateSnapshotDataBlob va échouer si votre script se heurte à une erreur ou à une exception non interceptée.

+0

J'ai déjà utilisé 'ScriptCompiler :: Compile()' et 'Run()' pour gérer le même script et cela a bien fonctionné, donc je ne pense pas qu'il y ait un type d'erreur ou d'exception non interceptée dans mon script. –