首页 > 解决方案 > Node.js 堆栈大小静默崩溃

问题描述

我有一个需要更多堆栈空间的 JavaScript 命令行程序。这个选项是,node --stack-size但它不适合我。测试用例:

'use strict'

function f(...a) {
    console.log(a[0] + a[a.length - 1])
}

var a = []
for (var i = 0; i < 1000000; i++) {
    a.push(i)
}
f(...a)

使用 plain 运行node,上述崩溃并显示一条错误消息,指出超出了最大调用堆栈大小。但是运行node --stack-size=10000(指定十兆字节的堆栈空间,这应该足够了)它只是静默退出而不打印任何输出,甚至没有错误消息。

我在 Windows 10 上使用节点 14.16.1 x64。

我究竟做错了什么?

echo %errorlevel%显示-1073741571,即C00000FD,确实是堆栈溢出的Windows错误代码。

标签: node.jswindowsstack-overflowcallstack

解决方案


推荐阅读