Проблема с обнаружением стекового потока иногда заключается в том, что трассировка стека раскручивается, и вы не сможете увидеть, что на самом деле происходит.
Я нашел некоторые из новых инструментов отладки Chrome полезными для этого.
Нажмите Performance tab
, убедитесь, что Javascript samples
включены, и вы получите что-то вроде этого.
Это довольно очевидно, где переполнение здесь! Если вы нажмете на кнопку, extendObject
вы сможете увидеть точный номер строки в коде.
Вы также можете увидеть время, которое может или не может быть полезным или красная сельдь.
Еще один полезный трюк, если вы не можете найти проблему, - это поместить множество console.log
утверждений там, где вы думаете, что проблема. Предыдущий шаг выше может помочь вам в этом.
В Chrome, если вы неоднократно выводите одинаковые данные, он будет отображаться так, как показано, где проблема более ясна. В этом случае стек достиг 7152 фреймов, прежде чем окончательно рухнул:
data
AJAX. Исправлена ошибка с объявлением переменных.