在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)
}
最佳答案
您可以分配给stackTraceLimit
构造函数的Error
属性,该属性默认为10:
function blowUp(n) {
if(n > 100) {
throw new Error('x')
} else {
blowUp(n+1)
}
}
try {
Error.stackTraceLimit = 20;
blowUp(0)
} catch(e) {
console.log(e.stack)
} finally {
Error.stackTraceLimit = 10;
}