А чем вы дебажите JavaScript?

А кто тут front end делает под asp.net — как вы с этим уживаетесь:

1) Нет нормального intellisence под jquery (много чего не показывается, даже если подключить vsdoc под него)
2) jquery-ui: вообще нет скрипта под intellisence. А по памяти — то туеву хучу членов виджета не упомнишь Или где взять? :)
3) При синтаксической ошибке выполнение скрипта очень тихо умирает. А потом ищи иголку в стоге сена.

Вот хотелось бы знать, есть ли какие-нибудь инструментарии, чтобы отдебажить JavaScript? Брэкпоинт на нем в Студии не катит :(

upd: Вот, например, ситуация с AJAX под JQuery: по запросу контроллер передает скрипту Json(blablabla) — на сервере брекпоинт сработал, вижу — запрос прошел, а вот сам процесс распарсивания, который не сработал — черный ящик. И fiddler если запрос не отловил (он вообще только с IE дружит) — тут бы узнать пошагово логику скрипта, где он падает, а как?

upd2: Вопрос с отладкой скрипта отпал — в хроме нашел Инструменты разработчика CTRL-SHIFT-I
Но как быть с полноценным интеллисенс под jquery?

upd3: Оказывается, отладка джаваскрипта — это очень просто, кто бы знал: habrahabr.ru/post/76485

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Web Inspector

habrahabr.ru/post/143767

Поиск кода, выполняемого по событию

habrahabr.ru/post/142888

к стати если не устраивает Fiddler (который как на меня все таки ок) есть Charles.

у нас куплено для всех девов — приятная штука

Матом, фаербагом и драгонфлаем.

Поставив JavaScript Errors Notifier 1.5.3 — екстеншен для ХРОМА. Видає номер рядка де крешануло і назву файлу. Також console.log("..."). Але там є нюанс з фаєрфоксом

В хроме есть «Developers tools», в большинстве случаев тамошнего отладчика достаточно.

Насчет интелисенс, можно использовать веб сторм для джс

Нашел 2 интересных расширения в тему, которые прям со Студии ставятся через Extension manager: brace completer, и JScript Editor Extensions: первый закрывает открываемые скобки (как в Эклипсе :), второй — подсвечивает код, делает outlining и т.д. и т.п. :)

инспектором и алертами :D

В том то и дело, что alert не срабатывал :)

Файрбаг полноценно под Хром не работает. А ^&%$&^$%&^% файрфокс тупит и жрет память прямо пропорционально версии билда. В принципе, оказывается все просто — в скрипте пишем debugger; и хоть в Студии отдебажить можем, так что всем спасибо :)

upd: это — эквивалентно c# Debugger.Attach() чтобы IDE сама податтачилась

хромовский инспектор лучше фаербага:) для профилирования так точно

можно и в самом браузере во вкладке scripts брикпоинты ставить без debugger;

хромовский инспектор лучше фаербага:)

Долбаные хипстеры! ©

для профилирования так точно

Не факт. Проблема в том что в Хроме тормозит только откровенно говенный код.

А основные тормоза у нас где? ... Правильно в ИЕшечке! Кстати, в самой ИЕшечке вполне кошерный профайлер.

Долбаные хипстеры! ©

А ещё я nodejs люблю :D

для профилирования так точно

Я не правильно выразился, профилировать конечно же нужно во всех и профилировщики везде относительно одинаковые, хоть в ие8, хоть в фф

В хроме удобно утечки памяти искать

А ещё я nodejs люблю :D

ТО мо ти ішо і на Коффискрипт пишешш? :)

В хроме удобно утечки памяти искать

Вот тут бы поподробнее или ссылочку “на почитать”.

По факту Хром единственный где показывается память. Но тут другой момент, по моей практике, оно помогает только когда память течет по полной, а когда она подтекает немного, вот тут что делать?

ТО мо ти ішо і на Коффискрипт пишешш? :)

на кофескрипте нет, пока не нашёл в этом достаточно смысла:)

более того сейчас из одного проекта его выпиливаем, благо не много

Вот тут бы поподробнее или ссылочку “на почитать”.

По факту Хром единственный где показывается память. Но тут другой момент, по моей практике, оно помогает только когда память течет по полной, а когда она подтекает немного, вот тут что делать?

Ссылочки нету, исследовал на практике, сам когда искал ничего интересного не нашёл.

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

Кстати, а из-за чего бывают утечки на странице? И как это будет видно — все затормозит и умрет? Как можно проверить есть ли утечка? И течет ли jquery?

Разные причины есть, но чаще всего причина — не удалённые объекты, либо удалённые не полностью.

jquery если и течёт, то не значительно, заметно это не будет.

По факту Хром единственный где показывается память.

А в Firefox это
about:memory?verbose

не то?

about:memory?verbose

Спсыбо. Не знал про такое.

не то?

Ну как сказать :) Это лучше чем ничего, но это как предлагать gdb ... и то как-то уж очень оно сумбурно ...

Файрбаг полноценно под Хром не работает.
Во всех современных браузерах есть свои вполне вменяемые отладчики.
А ^&%$&^$%&^% файрфокс тупит и жрет память прямо пропорционально версии билда.
Вот поэтому у меня ФФ — это дев-онли браузер. И ниче не жрет.

У меня лично он отжирает прилично, а если открыто вкладок эдак 20 плюс поток с ютуба — то и закрывается около минуты

Кстати, в самой ИЕшечке вполне кошерный профайлер.

Нафиг эту иешечку, оно тормозит. Пусть даже отлаживать не в Студии, а через console.log

Нафиг эту иешечку, оно тормозит.

Ну так мы же про профилирование ;)

вкладок эдак 20 плюс поток с ютуба — то и закрывается около минуты

Мы все еще про разработку говорим?

Мы все еще про разработку говорим?

х.з., проблема с отладкой уже решена :)

Еще бы решить проблему с intellisence под jquery — и день бы полностью удался :)

Еще бы решить проблему с intellisence под jquery

IDEA и Eclipse не предлагать? :)

Ну... На безрыбье, сами понимаете... :) Хотя, это будет ИМХО изврат сидеть одновременно под двумя IDE :)

На безрыбье, сами понимаете... :)

Eclipse:
chikuyonok.ru/...clipse-webdev2
Но надо брать именно JSDT не Aptana. У меня долго заводилось.
Под IDEA если проект начинать с нуля и по меньше писать кода в html-файлах все работает гуд «из коробки».
Хотя, ИМХО, проще выучить (на первое время api.jquery.com ) тогда ни какой интеллисенс не надо.

Намного более полезная штука snippets.

огда ни какой интеллисенс не надо

Так оно на отдельной вкладке то все время открыто... Но дело в том, что когда не отвлекаешься на написание кода, а тебе сразу все кошерно подсказывает, вы ведь понимаете разницу?

Не все так просто — jquery-x.x.x-vsdoc.js поэтому и сделали как раз по просьбам трудящихся :)

а тебе сразу все кошерно подсказывает, вы ведь понимаете разницу?

Вы это спрашиваете у человека который «true» набирал как «t r u Ctrl+Space» :)

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

Суть втом что запомнить что-то куда эффективнее

Дело в том, что чтобы я тоже так думал, должно пройти не менее недели ежедневного ковыряния :) А так — пока реально задрачивает переключение по вкладкам

Я использую ФФ постоянно, заметил, что если Firebug выключен (Shift+F12), то он не тормозит, а если не выключен, то тормозит, особенно с если в Firebug не отключены закладки Script и Net.

Підписатись на коментарі