Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2014, 06:20
Новичок на форуме
Отправить личное сообщение для pauk Посмотреть профиль Найти все сообщения от pauk
 
Регистрация: 16.02.2014
Сообщений: 5

"Правильная" отладка в chrome
Шалом, пагни.
Возникла проблема с отладкой одного довольно таки непростого скрипта. Общие принципы отладки в хроме вроде понял, по крайней мере в простых скриптах ставил бряку перед document.write или непосредственно запросом, все получалось.
А тут скрипт жутко обфусцирован, ничего не понять, данные подгружаемые в скрипт находятся после него. Пробовал ставить бряку перед данными, так не показываются переменные, ставить в самом скрипте, так не могу уловить изменения переменных, даже пошагово. Нет ли какого нибудь способа ставить бряку по событию, например, GET запроса.
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2014, 06:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Смотри справа отладчика вкладку XHR Breakpoints.
Еще внизу есть кнопка Pretty Print - помогает на сжатых скриптах.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2014, 09:05
Новичок на форуме
Отправить личное сообщение для pauk Посмотреть профиль Найти все сообщения от pauk
 
Регистрация: 16.02.2014
Сообщений: 5

Сообщение от danik.js Посмотреть сообщение
Смотри справа отладчика вкладку XHR Breakpoints.
Еще внизу есть кнопка Pretty Print - помогает на сжатых скриптах.
Минифером пользоваться давно научился, на скобки нажимаю внизу, спс. По поводу XNR бряки не идет, там вроде только для ajax запросов.
Вот еще, а как собственно отлаживать скрипты в вебшторме?
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2014, 10:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pauk
По поводу XNR бряки не идет, там вроде только для ajax запросов.
А ты о каких GET-запросах говорил? Разве не о аяксе?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2014, 00:41
Новичок на форуме
Отправить личное сообщение для pauk Посмотреть профиль Найти все сообщения от pauk
 
Регистрация: 16.02.2014
Сообщений: 5

Сообщение от danik.js Посмотреть сообщение
А ты о каких GET-запросах говорил? Разве не о аяксе?
Нет. Об обычных GET запросах, при загрузке страницы подгружаются данные в скрипт и отправляются GET запросы.
Зы. Если не в лом, глянь будь добр.
Вложения:
Тип файла: txt src.txt (91.9 Кб, 1 просмотров)

Последний раз редактировалось pauk, 18.02.2014 в 00:44.
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2014, 06:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pauk
отправляются GET запросы
Ну GET-запрос инициируется либо объектом XMLHttpRequest (аяксом), либо при создании DOM-элемента <img> и указания ему src, либо при добавлении в DOM элементов <script src>, <object src>.
Во вкладке Сеть указывается чем инициирован запрос. На изменение DOM-модели можно тоже ставить точки останова
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 18.02.2014, 21:13
Новичок на форуме
Отправить личное сообщение для pauk Посмотреть профиль Найти все сообщения от pauk
 
Регистрация: 16.02.2014
Сообщений: 5

Спасибо, попробуем
Зы. Попробовал, но все равно многое неясно. А именно, бряка ставится сейчас верно, но... Допустим, имеем функцию
mb: function(a) {
            a = a.replace(/\r\n/g, "\n");
            for (var b = "", c = 0; c < a.length; c++) {
                var d = a.charCodeAt(c);
                128 > d ? b += String.fromCharCode(d) : (127 < d && 2048 > d ? b += String.fromCharCode(d >> 6 | 192) : (b += String.fromCharCode(d >> 12 | 224), b += String.fromCharCode(d >> 6 & 63 | 128)), b += String.fromCharCode(d & 63 | 128))
            }
            return b
        }


По идее, я могу в отладчике просмотреть значение любой переменной, но, опять таки, показывается какая то ересь или вообще ничего. Как так может быть, если значение уже сгенерировано и его можно видеть (конечный результат) в графе Scope Varibales.
Или, вот
e: function(a) {
            var b = +new Date % 1E6;
            return "/?" + b + "\x3d" + this.Ka(a.replace("/?", ""), b)
        }

Как она получилась, переменная e, виден конечный результат только. Судя по коду, в b должно быть число, а там фиг знает что - готовый результат
return "/?" + b + "\x3d" + this.Ka(a.replace("/?", ""), b)
.
Я вот думаю, т.к. код обфусцирован, может отладчик и не знает, что где, ведь одни и те же переменные используются в каждой функции...

Кстати, что бы это могло значить
aa: function(a, b, c, d) {
            d = d || "jclb";
            if (c) {
                var e = "jsonp" + String(Math.random()).slice(4);
                b += "\x26" + d + "\x3dwindow." + e;
                p[e] = function(a) {
                    scriptOk = w;
                    p[e] = v;
                    try {
                        delete p[e]
                    } catch (b) {
                    }
                    f.log("Callback called");
                    c(a)
                }
            }
            b = this.e(b);
            d = this.v("script");
            d.src = a + b;
            return d
        }

Callback, это ведь передача другой функции.

Последний раз редактировалось pauk, 19.02.2014 в 03:12.
Ответить с цитированием
  #8 (permalink)  
Старый 22.02.2014, 13:22
Новичок на форуме
Отправить личное сообщение для pauk Посмотреть профиль Найти все сообщения от pauk
 
Регистрация: 16.02.2014
Сообщений: 5

Пасонээээээээээ, выручайте. Я конечно все понимаю, кому охото за спасибо ковыряться в геморрном коде, но хоть обьясните, как вебстормом пользоваться. Ничего не понятно, как в нем отлаживать скрипты.
Ответить с цитированием
  #9 (permalink)  
Старый 22.02.2014, 15:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pauk
Ничего не понятно, как в нем отлаживать скрипты
Хз, я в консоли хрома отладкой занимаюсь. Там вобще все элементарно. Кнопочки как на магнитофоне - плэй, пауза и тд. Инвалид на голову разве что не разберется.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение своих js скриптов в Chrome на любых сайтах avramch Opera, Safari и др. 5 28.07.2016 16:11
Chrome. Не работет простейший скрипт wog39 Opera, Safari и др. 3 10.11.2013 20:34
Chrome начал тормозить hellms Opera, Safari и др. 0 17.04.2012 19:19
Получить размеры рабочей области окна в Chrome unclechu Events/DOM/Window 1 13.09.2011 02:37
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12