Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Посоветуйте подходящий дебагер


Автор: nerdy_weirdie 9.5.2009, 19:24
Добрый день. По долгу службы возникла необходимость разобраться с устройством стороннего сайта. Но посмотреть на работу скриптов не удается из-за отсутствия продходящего дебагера.
Дело в том, что на сайте великое множество скриптов. И файлы размером около 100кБ написаны в одну строчку. Нужен дебагер, позволяющий поставить брейкпоинт не на строке, а на конкретном выражении в этой строке.
Пытался отладить при помощи MS Visual Web Developer 2008 Express. При вызове глобального кода из этого однострочного файла брейкпоинт останавливает выполнение на первом выражении. Фиг с ним, посидел, пощелкал15 минут клавишу F10 (Run to Cursor не помогла - файл выполнялся до конца без остановки).
Но в этой строке инициализируется обработчик события window.attachEvent("onbeforeunload",MyClass._MyFunc); и объявляется эта функция MyClass._MyFunc. И при вызове обработчика (а он точно происходит) брейкпоинт установленный на этой большой строке не срабатывает.
Подскажите пожалуйста, каким дебагером можно установить брейкпоинт на конкретное выражение, а не строку, и как отладить этот обработчик события?
Заранее спасибо.

Автор: Samotnik 10.5.2009, 13:23
Ставьте http://www.mozilla-europe.org/en/firefox/  а к нему https://addons.mozilla.org/en-US/firefox/addon/1843  smile 

Автор: nerdy_weirdie 10.5.2009, 14:44
Дело в том, что при использовании FF сайт грузит совсем другие файлы с другими скриптами. Нужно рабобраться, как всё работает в IE.

Да и не позволяет FireBug дебажить по выражениям. Только построчно.

Автор: ksnk 10.5.2009, 16:00
nerdy_weirdie, Можно извернуться... 
-- Скопировать к себе страничку, 
-- отбьютифайть скрипты http://www.google.ru/search?q=javascript+beautyfier
-- отладится...

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

Автор: nerdy_weirdie 10.5.2009, 20:29
Насчет прокси идея хорошая. Может, известны какие-то готовые реализации? Что-то очень лень самому писать..

Автор: ksnk 10.5.2009, 21:35
Цитата

... Что-то очень лень самому писать.. 

Обычному человеку отлаживать библиотеку, пожатую кем-то, обычно не приходит в голову. Если кто-то жмет библиотеку, он обязан выложить рядом и нежатую версию для отладки. Пример - любые фреймворки. Если мне непонятны некоторые места во фреймворке настолько, что документация не помогает - я ставлю "большую" версию и отлаживаю на ней.
А ежели нежатого скрипта нет - это значит, что автор не хочет, чтобы его библиотекой пользовались другие люди.
Случаи, конечно, бывают разные, но для меня разбираться в пожатом коде примерно сравнимо с написанием этого-же кода заново.

прокси , imho, подойдет любой, распространенный кэширующий. Посоветовать ничего не могу, так как сам таким не пользуюсь smile


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)