Javascript堆栈跟踪被截断

Javascript堆栈跟踪被截断,javascript,node.js,stack-trace,Javascript,Node.js,Stack Trace,在node和chrome中,下面的代码只给了我10个堆栈帧,而我预期是100个。有没有办法把整叠纸都打印出来 function blowUp(n) { if(n > 100) { throw new Error('x') } else { blowUp(n+1) } } try { blowUp(0) } catch(e) { console.log(e.stack) } 您可以分配给Error构造函数的s

在node和chrome中,下面的代码只给了我10个堆栈帧,而我预期是100个。有没有办法把整叠纸都打印出来

function blowUp(n) {
    if(n > 100) { 
        throw new Error('x') 
    } else { 
        blowUp(n+1) 
    }
}

try {
    blowUp(0)
} catch(e) {
    console.log(e.stack)
}

您可以分配给
Error
构造函数的
stackTraceLimit
属性,该属性默认为10:

函数放大(n){
如果(n>100){
抛出新错误('x')
}否则{
放大(n+1)
}
}
试一试{
Error.stackTraceLimit=20;
放大(0)
}捕获(e){
console.log(e.stack)
}最后{
Error.stackTraceLimit=10;

}
您可以为
Error
构造函数的
stackTraceLimit
属性赋值,该属性默认为10:

函数放大(n){
如果(n>100){
抛出新错误('x')
}否则{
放大(n+1)
}
}
试一试{
Error.stackTraceLimit=20;
放大(0)
}捕获(e){
console.log(e.stack)
}最后{
Error.stackTraceLimit=10;

}
太好了,谢谢!知道为什么这么低吗?演出内存?可能,但也可能是因为错误源通常与抛出错误的帧距离不远。也许一个程序员需要经历10多个帧才能找到他们需要修复的东西(或者指向他们需要修复的东西)是不可能的。此外,当通常只需要几行时,巨大的堆栈跟踪会使输出更难读取。但那只是猜测。太好了,谢谢!知道为什么这么低吗?演出内存?可能,但也可能是因为错误源通常与抛出错误的帧距离不远。也许一个程序员需要经历10多个帧才能找到他们需要修复的东西(或者指向他们需要修复的东西)是不可能的。此外,当通常只需要几行时,巨大的堆栈跟踪会使输出更难读取。但这只是一个猜测。