Отладчик подключен? - PullRequest
1 голос
/ 01 мая 2020

Я хотел бы знать, отлаживаю ли я в данный момент свой код javascript?

Справочная информация: (Почему я должен знать)

У меня есть создал страницу, которая порождает Worker.

Когда я запускаю эту страницу и нажимаю F12 для отладки, я устанавливаю точку останова в Worker. Эта точка останова будет затем нажата, когда я нажму кнопку, чтобы запустить Worker (пока все хорошо).

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

    timer = setTimeout(function ()
    {
        worker.terminate();
        worker = NewWorker();
    }, 2000);

Теперь проблема: когда в Worker достигается точка останова, таймер срабатывает через 2 секунды (так как главная страница поток все еще работает независимо) и завершает Worker. Поэтому я не могу отладить Worker.

Мой план состоит в том, чтобы просто отключить (или не запускать) таймер во время отладки.

Итак, есть ли способ узнать, подключен ли отладчик?

Обновление:

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

Update2:

Может быть, отладчик всегда подключен в браузере, но он только active когда видно . Точки останова действуют только тогда, когда у вас открыто окно отладчика.

Итак, есть ли способ проверить это?

1 Ответ

0 голосов
/ 05 мая 2020

Ну, похоже, нет ответа на этот вопрос.

В идеале я бы хотел, чтобы браузер прерывал все потоки , когда один поток достиг точки останова (Visual Studio может это сделать, но не в javascript).

Возможно, однажды браузеры это поддержат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...