Как сделать на странице слушатель запускаемых скриптом функции

Прошу совет или примеры как сделать на странице слушатель запускаемых скриптом функции. Есть уж больно умудрённый и большой скрипт, где весь код идёт одной строкой и с “запутанными” вызовами функций. Надеюсь получить последовательность/имена вызываемых функций и их код.

Насколько я знаю не получится.
Как вариант можно открыть в редакторе и добавить регуляркой консоль лог в начало каждой функции.

Можно попробовать задеркорировать объявление функции, не уверен что это сработает, но можно попробовать. И тогда выбирать текстовое тело функции и парсить из него название.

Насчет “слушать” функции не знаю что подсказать, думаю что так поставленную задачу скорее всего невозможно решить. А для получения вот этого

последовательность/имена вызываемых функций и их код.

Можно попробовать следующее:

Переписать какой-то часто используемый метод (типа .push) или класс типа Promise, и в переписанный код вставить debugger. Выполнение скрипта остановится на это дебаггере, и можно будет рассмотреть call stack и значения переменных в инструментах разработчика. И потом повторять этот трюк с разными методами, разными условиями когда входить в дебаггер итд до достигания уровня понимания исполняемого кода.

Еще идея. Порядок вызова функций можно залогировать через ту же методику с переписыванием стандартных функций-методов, и использованием console.trace вместо debugger.

И еще вариант (я сам такое применял). С помощью инструментов типа fiddler подменить текст скрипта локальной копией, но со вставленными debugger-ами. Или же подменять часть текста скрипта на текст с дебаггером. Но этот подход потребует от тебя разбирательства с фиддлером на уровне более среднего.

  1. Использовать возможности самого Chrome. Developer Tools Performance
    Будет записана конкретная последовательность вызовов при конкретных действиях.
    Тут уж сам смотри будет для тебя плюсом или минусом

  2. Использовать статитечиский анализатор с визуализацией зависимостей функций. Есть простенькое, но довольно неплохое расширение для VS Code

  1. Мощное расширение. Насколько понял работает больше как рекордер из браузера, но в VS Code.
2 лайка