|
[JavaScript] Как программно приостановить выполнение скрипта при ошибке Chrome?
|
Я
|
|
D_Pavel 18.10.16 - 00:03 | В IE есть удобная фишка, что при ошибке в скрипте выскакивает окно с кнопкой запустить отладчик.
В хроме в отладчике нашел только делать паузу при ошибке, но это работает только если DevTools уже открыт. Как отловить ошибку если отладчик спрятан? |
Asmody 1 - 18.10.16 - 00:08 | А вы все алертами дебажите? |
Torquader 2 - 18.10.16 - 01:14 | А не проще ли отладить по частям, а потом собрать воедино ? |
D_Pavel 3 - 18.10.16 - 01:30 | ( 1) нет.
( 2) Проще чем что? |
Torquader 4 - 18.10.16 - 01:39 | ( 3) Чем пытаться отлаживать всё в куче - если каждая функция отлажена и возвращает то, что нужно, код будет работать, как нужно, а если в функциях ошибки, то они будут всплывать по мере расширения диапазона их входных значений - в итоговом коде все ситуации намного сложнее предусмотреть, чем при вызове отдельных функций. |
D_Pavel 5 - 18.10.16 - 16:50 | ( 4) Это и так понятно. Но давайте не отклоняться от темы. Как все-таки заставить остановиться скрипт и вызвать отладчик?
Как советовал ( 1) Asmody через алерт не получится, потому что пока он висит в отладчик зайти нельзя. А когда его закрываешь скрипт выполняется дальше. |
Лефмихалыч 6 - 18.10.16 - 16:53 | ( 0) может использовать для отладки IDE какой-нибудь, который умеет брэйкпоинты? NetBeans тот же, например...
( 5) Asmody как раз не советует, а иронично порицает |
D_Pavel 7 - 18.10.16 - 16:54 | Я уже придумал один дурацкий но рабочий способ (утро вечера мудренее).
Но может есть нормальный варик? |
Garykom 8 - 18.10.16 - 16:55 | ( 5) Через плагины для барузеров и как правильно заметил в IDE уже давно все есть |
Garykom 9 - 18.10.16 - 16:55 | |
Garykom 10 - 18.10.16 - 16:56 | |
D_Pavel 11 - 18.10.16 - 16:56 | ( 6) NetBeans умеет подключаться к хрому? Сомневаюсь. Нужно тратить время чтобы это выяснить.
Про Asmody в курсе. |
Мойдодыр 12 - 18.10.16 - 16:57 | а что в хроме брейкпойнтов нет? |
Garykom 13 - 18.10.16 - 16:58 | ( 11) А ты не сомневайся а попробуй |
D_Pavel 14 - 18.10.16 - 16:58 | ( 12) Когда отладчик закрыт, "остановка по ошибке" не работает |
Лефмихалыч 15 - 18.10.16 - 16:58 | ( 11) окуеть... Вообще-то умеет. Через расширение, вот такое:
https://i.imgur.com/mpVLypt.png |
Garykom 16 - 18.10.16 - 16:59 | |
D_Pavel 17 - 18.10.16 - 16:59 | ( 13) ( 15) И что, его можно будет закрыть, и когда появится ошибка он запустится сам??? |
Garykom 18 - 18.10.16 - 17:01 | ( 17) Ты плохо заточенный или или прикидываешься? ;) привыкли блин к 1С-ке где из режима предприятия отладка вызывается...
Но в принципе да можно такое расширение сделать только науя? |
Лефмихалыч 19 - 18.10.16 - 17:04 | ( 17) повторюсь: окуеть...
Ты в IDE запускаешь отладку и этот самый IDE запускает хром, который доходит до точки останова и управление возвращается в IDE |
Лефмихалыч 20 - 18.10.16 - 17:05 | главное - не пробовать самому. Никогда. А то вдруг получится...
D_Pavel, а ты код пишешь в notepad.exe или в notepad++.exe? |
Мойдодыр 21 - 18.10.16 - 17:05 | ( 20) так можно и встренным отладчиком воспользоваться |
D_Pavel 22 - 18.10.16 - 17:05 | ( 19) Зачем тогда IDE если встроенный отладчик в хроме делает то же самое? |
Лефмихалыч 23 - 18.10.16 - 17:06 | ( 22) затем, что встроенный этот твой отладчик не умеет ( 0) |
D_Pavel 24 - 18.10.16 - 17:07 | ( 23) Ты в ( 19) писал что твой вариант тоже не умеет |
Лефмихалыч 25 - 18.10.16 - 17:09 | ( 24) netbeans умеет остонавливаться по ошибке точно так же. Ты заускаешь отладку, он запускает хром и возвращает управление в netbeans, когда эксепшон стреляет. Как, в общем-то, любой отладчик |
D_Pavel 26 - 18.10.16 - 17:10 | ( 25) Если для этого netbeans должен быть запущен, то этот вариант не подходит. |
D_Pavel 27 - 18.10.16 - 17:10 | ( 25) >> Как, в общем-то, любой отладчик
Вот именно. Как и встроенных хромовский |
Лефмихалыч 28 - 18.10.16 - 17:11 | Ты у клиента что ли хочешь в отладчике покопаться? |
D_Pavel 29 - 18.10.16 - 17:12 | |
Garykom 30 - 18.10.16 - 17:12 | ( 28) Он походу не понимает что js в продакшене (в браузере с сайта готового) это не тот js исходный код в котором можно легко покопаться )) Рекламное место пустует |
Лефмихалыч 31 - 18.10.16 - 17:13 | ( 30) да х/з. Но в одном ты прав - в этой ветке кто-то что-то не понимает. |
D_Pavel 32 - 18.10.16 - 17:15 | ( 30) Лажанулся и пытаешься других очернить? Не по мужски. |
Garykom 33 - 18.10.16 - 17:17 | ( 32) Пойми что js пользователи не отлаживают.
Отладкой JS занимаются программисты и обычно с IDE привычной и исходным кодом. |
Garykom 34 - 18.10.16 - 17:20 | Сча в планах WebAssembly
Это будет скомпилированный машинный код (вместо js) в браузере а не как сча когда js (даже после обфускатора/сжатия) неудобно но можно поковырять. |
Лефмихалыч 35 - 18.10.16 - 17:20 | ( 33) там, как я понял, вся разработка ведется в девтулзе, а про IDE ни кто не слышал... |
Garykom 36 - 18.10.16 - 17:23 | ( 35) Ну тогда пусть наваяет расширение которое будет перехватывать и открывать для отладки в DevTools )) |
Лефмихалыч 37 - 18.10.16 - 17:24 | ( 36) так для этого тем более IDE надо, а это не по вере: ( 22) |
D_Pavel 38 - 18.10.16 - 17:35 | |
D_Pavel 39 - 18.10.16 - 17:36 | |
D_Pavel 40 - 18.10.16 - 17:38 | ( 35) Кончай фантазировать в моей теме. Создай свою, и пиши там свои предположения. У меня тут вопрос решается. Не можешь ответить, не пиши. |
Мойдодыр 41 - 18.10.16 - 17:50 | |
D_Pavel 42 - 18.10.16 - 17:52 | ( 41) Это что такое и зачем его описывать? |
Мойдодыр 43 - 18.10.16 - 17:54 | Чтобы мы могли тебе помочь.
Откуда возникает потребность делать именно так.
Т.е по шагам с самого начала |
Лефмихалыч 44 - 18.10.16 - 17:54 | еще одна коса на камень налетела... |
Мойдодыр 45 - 18.10.16 - 18:00 | ( 43) То бишь очевидно что в лоб решения у твоей задачи нет.
нужно искать обходные пути. а для этого нужно ( 41) |
D_Pavel 46 - 18.10.16 - 18:13 | ( 45) Не думаю что это чем-то поможет. Но смотри:
Есть виртуальные машины с очень маленьким объемом оперативки.
В них крутится мой скрипт, написанный под расширение для хрома tampermonkey.
Иногда (пару раз в неделю) могут возникать непонятные глюки, которые трудно отловить. В общем это не страшно, но часть данных при этом теряется, и хотелось бы посмотреть причину(ы) этих глюков.
Я сделал так что при возникновении ошибки скрипт отправляет мне сигнал об этом, с некоторыми данными, но по ним не видно причины ошибки и не возможно ее повторить.
Поэтому я хочу покопаться в отладчике.
Теперь самое главное: если подключить отладчик и оставить его, то через два-три дня он сжирает всю память. |
Garykom 47 - 18.10.16 - 18:17 | ( 46) А нефиг накруткой рекламы заниматься... |
D_Pavel 48 - 18.10.16 - 18:18 | |
D_Pavel 49 - 18.10.16 - 21:53 | В общем проблема в том, что отладчик не может подключиться к работающему скрипту.
Как остановить скрипт чтобы подключить отладчик, а потом продолжить работу с того же места я не знаю. |
D_Pavel 50 - 18.10.16 - 21:54 | Причем эта проблема только в хроме. В IE и Edge все чотко работает. |