Node.js PhantomJS意外退出,退出代码为-1073741819

Node.js PhantomJS意外退出,退出代码为-1073741819,node.js,unit-testing,jasmine,phantomjs,gruntjs,Node.js,Unit Testing,Jasmine,Phantomjs,Gruntjs,我在Windows 7 PC上运行了一系列带有PhantomJS的Jasmine规范(通过Grunt),我碰巧遇到以下错误: Testing jasmine specs via phantom ...... Running PhantomJS...ERROR >> 0 [ '' ] Warning: PhantomJS exited unexpectedly with exit code -1073741819. Use --force to continue. Aborted du

我在Windows 7 PC上运行了一系列带有PhantomJS的Jasmine规范(通过Grunt),我碰巧遇到以下错误:

Testing jasmine specs via phantom
......
Running PhantomJS...ERROR
>> 0 [ '' ]
Warning: PhantomJS exited unexpectedly with exit code -1073741819. Use --force to continue.
Aborted due to warnings.
如果我删除了一系列测试,则不会出现错误;但是我不知道是什么原因导致了这个错误

我也觉得奇怪的是,它只是偶尔发生


知道为什么会发生这种情况吗?

我们正在通过jasmine和grunt运行AngularJS测试,遇到了同样的问题。对我们来说,这是由于我们的自定义功能

我们缺少示例处理程序中的
抛出异常
行。如果不抛出异常,测试将通过,但会随机导致PhantomJS崩溃

这意味着我们的一些测试失败了,我们不知道 以下是来自的示例处理程序:

angular.module('exceptionOverride',[]).factory('$exceptionHandler',function(){
返回函数(异常、原因){
exception.message+='(由“'+原因+”)引起);
抛出异常;//(遗憾的是,我没有答案。我会发表评论,但我没有代表。)

我在尝试使用grunt html快照创建html快照时遇到相同的错误

Running PhantomJS...ERROR
>> 0 [ '' ]
Warning: PhantomJS exited unexpectedly with exit code -1073741819. Use --force to continue.

Aborted due to warnings.

我给grunt提供了一个URL列表,我“随机”在列表中的某个位置获取此崩溃。我想我已经跟踪到了使用bridge.js脚本启动phantom.exe的子进程spawn调用。它似乎还没有尝试在phantom.exe子进程退出之前加载下一页,并出现了错误。我还没有找到有关错误代码的任何文档。

重命名文件夹并在grunt中运行jasmine后,生成了与Helge相同的错误消息

该文件夹包含我想缩小为一个文件的所有JavaScript文件,我重命名了该文件夹以匹配最终文件名。例如,文件夹
\src\modules\
被重命名为
\src\modules.js\


从文件夹名中删除.js解决了这个问题。

使用PhantomJS为AngularJS生成快照

snapshots脚本遍历一组URL,它必须对这些URL进行快照

缩小到可能的原因,结果是我在AngularJS中的最新修复中有一个bug。这个bug导致不断切换主页和发生错误的页面

代码可视化:

$state.go('home state');
...
$state.go('an other state');
...
$state.go('home state');
...
$state.go('an other state');
...
$state.go('home state');
...
...
=> Error: PhantomJS exited unexpectedly with exit code -1073741819
简言之:


对我来说,此错误是由无限重定向循环引起的。

当您的本地PhantomJS不兼容或损坏时,还会显示警告PhantomJS意外退出,退出代码为-1073741819

通过
npm list-g phantomjs
您可以检查您的phantomjs版本

如果您认为它已损坏,请使用以下工具重新安装:

npm uninstall phantomjs -g
npm install phantomjs -g

您是否有像McAfee一样运行的防病毒应用程序可以扫描脚本?或者该文件可以在多个应用程序中打开?可能重复:
npm uninstall phantomjs -g
npm install phantomjs -g