Javascript 堆栈跟踪被截断

Javascript stack traces are truncated

在节点和 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:

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;
}