Как подключиться к удаленному сеансу отладки nodejs с помощью PhpStorm / WebStorm? - PullRequest
0 голосов
/ 04 марта 2019

Похоже, аналогичный вопрос , что и о предшественнике inspect, и я хочу использовать inspect.

Я создал базовый стек для создания докеровиз которого я запускаю мое приложение nodejs.Я хочу прослушать сеанс отладчика и отладить мой код JavaScript в моем локальном WebStorm.

Я вхожу в контейнер через

docker exec -it my_container bash

И я вызываю свой скрипт nodejs с отладчиком, запущенным через inspect:

node --inspect ./cli.js start mytask
Debugger listening on ws://127.0.0.1:9229/81006264-163c-40d7-bd75-64c5e4fca618
For help see https://nodejs.org/en/docs/inspector

Связанная справка мне не поможет, поскольку предполагается, что я хочу использовать inspect для локального запуска:

JetBrains WebStorm 2017.1+и другие интегрированные среды разработки JetBrains Создайте новую конфигурацию отладки Node.js и нажмите Отладка.--inspect будет использоваться по умолчанию для Node.js 7+.Чтобы отключить, снимите флажок js.debugger.node.use.inspect в реестре IDE.

Я хочу подключиться к запуску внутри контейнера докера с моего хоста WebStorm.

Так что когдаЯ запускаю сценарий, он просто завершается, никогда не нажимая ни на одну точку останова.

Полагаю, мне нужно прослушать отладчик, но я не знаю, как.

Я хочу, чтобы мой локальный WebStorm подключился котладчик nodejs.Я хочу иметь возможность отлаживать в WebStorm, как если бы я запускал скрипт nodejs через сам WebStorm.

Я пытался копаться в docs , но я не уверен, как следовать рекомендациям.

Я выставил порт отладки по умолчанию 9229 на свой локальный компьютер в моем docker-compose.yml:

version: "3"
services:
    my_container:
        build: .
        command: "bash"
        hostname: my_container
        tty: true
        environment:
            TERM: xterm
        ports:
            - "9229:9229"

Я не знаю, как прослушивать отладчик nodejs в WebStorm.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Вы должны запустить свое приложение с node --inspect-brk=0.0.0.0:9229 (0.0.0.0 требуется, поскольку Node.js по умолчанию привязывается только к localhost), а затем использовать Присоединить к Node.js / Chrome Запустить настройку для подключенияотладчик. Порт должен быть установлен на 9229

0 голосов
/ 04 марта 2019

Это обходной путь, так как я очень хочу использовать отладчик WebStorm, поэтому для меня это не решение, но, по крайней мере, предоставляет способ отладки:

Для инструментов разработчика Chrome вы можетеиспользуйте:

node --inspect-brk=0.0.0.0:9229 ./cli.js start mytask

Он будет отображаться по адресу:

chrome://inspect/#devices

Вы можете нажать проверить и отладить с помощью скрипта.

--inspect-brk будет разбит на первой строке,и я должен использовать ip 0.0.0.0 для инструментов разработчика, чтобы поднять его.

...