Как отладчик VS Code подключается к процессу узла

#node.js #vscode-debugger

#node.js #vscode-debugger

Вопрос:

Как Visual Studio Code Debugger может подключаться к уже запущенному процессу узла?

Я просто использовал npm start для запуска своего приложения узла, а затем использовал конфигурацию запуска VS Code «прикрепить к идентификатору процесса» для запуска отладчика. Мне не нужно было запускать свое приложение с флагом --inspect или --debug . Как это на самом деле работает?

Ответ №1:

Как можно найти в документах nodejs:

Node.js также начнет прослушивать сообщения отладки, если получит сигнал SIGUSR1. (SIGUSR1 недоступен в Windows.) В Node.js 7 и более ранние версии активируют устаревший API отладчика. В Node.js 8 и более поздние версии активируют Inspector API.

VS Code отправляет SIGUSR1 процессу. Из документов VS Code:

отладчик пытается подключиться к этому процессу после отправки сигнала USR1. С помощью этого параметра отладчик может подключиться к уже запущенному процессу, который не был запущен в режиме отладки.