Следы стека Javascript приходят пустым

wonce спросил: 28 марта 2018 в 02:37 в: javascript

Трассировки стека, отображаемые в консоли Firefox, всегда пусты. Я пропустил что-то или это может быть ошибка Firefox?

Пример JS:

function foo() {
    bar()
}
function bar() {
    console.trace()
}
foo()

Результат:

(с использованием FF 59 для Ubuntu)

1 ответ

Есть решение
Sebastian Zartner ответил: 30 марта 2018 в 02:48

Это, вероятно, ошибка в Firefox 59.0.2, которая уже исправлена ​​в Firefox Nightly 61.0a1 (2018-04-23). ​​

Сказав это, вам просто нужно убедиться, где вы выполняете свой код. Когда вы выполняете свой код в Scratchpad и проверяете результаты в консоли браузера, он может работать не так, как ожидалось. Хотя при проверке веб-консоли трассировка стека отображается правильно.

Кроме того, есть возможность запустить код в контексте браузера, чтобы получить ожидаемые результаты.

wonce ответил: 30 марта 2018 в 03:03
Благодарю. Использование веб-консоли (Ctrl + Shift + K) фактически дает рабочие трассировки, в то время как консоль браузера (Ctrl + Shift + J) этого не делает (не только в Scratchpad). Это только потому, что он работает на вашем компьютере или как вы знаете, это было исправлено в FF61.0a1?
Sebastian Zartner ответил: 31 марта 2018 в 04:57
Я быстро выполнил поиск по Bugzilla (баг-трекер Mozilla), но не смог найти точный отчет об ошибке, хотя, вероятно, это связано с ошибкой 1439616, которая включала новый пользовательский интерфейс в консоли браузера.