JavaScript: лог всех событий, возможно ли?

R
На сайте с 31.08.2010
Offline
78
775

Здравствуйте. Отлаживаю чужой js скрипт, нужно узнать как генерируются некоторые переменные, потом значения этих переменных передаются пост и гет запросом. С помощью стека вызовов функции определить не удается ибо очень много разных функций вызывается и никакой конкретики.

Через профилирование... тоже не все переменные и их значения отображаются.

Так вот вопрос. Мне нужен лог всех событий джаваскрипта при выполнении т.е. чтоб каждое действие было записано и потом поиском я мог просмотреть где первоначальное значение переменной появилось. То есть есть например переменная её значение передается потом через аякс гет запросом. Я не могу узнать как оно (это значение) генерируется или получается. Значение переменной передается из одной функции в другую много раз и не могу найти ни цикл ни чего-то подобного после чего переменная становится именно такой какая она есть. Так вот я хочу отследить все эти значения в какой функции чему что равно, чтобы можно было поиском потом найти истоки и разгадать алгоритм. Возможно ли такое? Как сделать такой лог событий или что вообще в моей ситуации делать? Скрипт большой в не сжатом виде 10 тыс + строк

ДП
На сайте с 23.11.2009
Offline
190
#1

Ну даже хз, если вам в стеке вызовов копаться лень, то в логе всех событий вы вообще заколебетесь что-то искать.

Брейкпойнт на нужное место и в отладчике стек вызовов смотреть - по-моему самое актуальное решение.

R
На сайте с 31.08.2010
Offline
78
#2

Дикий пионер, да уже пару недель мучаюсь с этим, никак не могу разобраться. В чем-то разобрался, но это не основное. В стеке рылся, одна функция вызывает другую например 4-функции назад отмотал там значение переменной ещё ни где не появилось, возвращаемся на одну выше - там уже есть, вот так вот... и по ходу дела в промежутке между этой и той ещё функция вызывается. а в ней ещё и ещё... и вот такая проблема, никак не могу найти после чего именно строка генерируется, после какого цикла которого нигде нет, где что обрезается и т.д...

А в логе всех событий почему лень копаться? Все копируем в нотепад++ там поиском ищем уже сгенерированное значение и если переменная передается из одной функции в другую много раз, то все эти разы можно будет просмотреть (их конечно можно и в стеке просмотреть), но все таки в стеке по сложнее... думаю если будет полный лог, будет проще отследить самую первую генерацию этой строки и разгадать алгоритм как она генерируется (это самое главное), чтобы потом в своей программе тоже самое делать и те же запросы гет и пост отправлять. К сожалению без этих параметров, либо с этими но старыми при запросе выдает не то что нужно, поэтому приходится сидеть и разбираться откуда что получается.

Дело в том что скрипт известный, но в интернете ничего не выложили ещё по этому поводу.. есть ещё вариант написать разработчикам подобных программ (таких парочка есть), может они подскажут как что генерируется.

ДП
На сайте с 23.11.2009
Offline
190
#3

Вообще странное какое-то дело, что переменная не понятно откуда берется по стеку вызовов. Если только глобальная какая-то и меняется в другом месте.

R
На сайте с 31.08.2010
Offline
78
#4

Дикий пионер, ну так яж про это, что возможно она ещё и глобальная, а там 10 тыс + строк кода, все функции названы: a, b, c, yx, yc, yd, xc и все в таком духе и переменные все a,b,c,d

Видимо постарались разработчики чтоб никто их защиту не обошел так просто.

ДП
На сайте с 23.11.2009
Offline
190
#5

Ну это просто код пожат, чтобы быстрее грузился

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий