Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 为什么调用clear()函数时spidermonkey会给我一个分段错误?_Shell_Segmentation Fault_Spidermonkey - Fatal编程技术网

Shell 为什么调用clear()函数时spidermonkey会给我一个分段错误?

Shell 为什么调用clear()函数时spidermonkey会给我一个分段错误?,shell,segmentation-fault,spidermonkey,Shell,Segmentation Fault,Spidermonkey,一点帮助。我刚刚在debian(./configure,make,makeinstall)上构建了spidermonkey,当我运行JSshell并调用clear()函数时,我遇到了一个分段错误。你知道为什么会这样,或者我可以在哪里得到帮助吗?这发生在谁身上了吗 $js 清除() 分段错误 $ 在JS Shell中调用clear(不带参数)将删除全局对象。在交互式会话中,read-eval-print循环将尝试访问先前已销毁的全局对象。最终结果:分割错误。此外,全局对象不再存在。您确实意识到cl

一点帮助。我刚刚在debian(./configure,make,makeinstall)上构建了spidermonkey,当我运行JSshell并调用clear()函数时,我遇到了一个分段错误。你知道为什么会这样,或者我可以在哪里得到帮助吗?这发生在谁身上了吗

$js
清除()
分段错误
$


在JS Shell中调用clear(不带参数)将删除全局对象。在交互式会话中,read-eval-print循环将尝试访问先前已销毁的全局对象。最终结果:分割错误。此外,全局对象不再存在。

您确实意识到clear();清除一切?最有可能的是JS外壳需要GC来正常工作。这是默认行为。同样的错误也会在我的linux控制台上重现。如果你可以发布version()的输出,那么一个有知识的灵魂可能更容易帮助你;我的报告185.我现在明白了。。这是因为您在全局对象上调用了clear。如果使用沙箱或类似的东西在一些正确编写的代码中调用此函数,则不会发生这种情况。沙箱将被销毁,而不是全局对象。那么这是默认行为?这可能是默认行为的原因,但我真的看不出来。有人会认为这种行为会比“分割错误”更复杂一些,但是意识到这一点是很好的。我同意。但是,在shell中编写代码的方式(这是一个spidermonkey shell函数)如果不提供对象,则默认为调用方的主对象。这对于清理沙箱特别有用。其中应该有一些代码来检查您是否不打算对全局对象进行GC,但是您无法使用clear()清除沙箱;但是,这可以通过参考检查来避免。您可能希望将其作为SpiderMonkey Shell的bug进行建议。