Трассировки стека Javascript усекаются - PullRequest
0 голосов
/ 09 января 2019

В обоих узлах и 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)
}

1 Ответ

0 голосов
/ 09 января 2019

Вы можете присвоить свойству 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;
}
...