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