This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Урок [JS] Как подключить отладчик (Debugger) в PhpStorm для server-side

welaurs

Начинающий специалист
Автор темы
30 Ноя 2021
19
46
48
Использование отладчика крайне необходимо при разработке сервера. У него есть ряд преимуществ перед console.log:
  • Возможность изменять код в рантайме (иными словами без перезагрузки сервера)
  • Возможность ставить брейкпоинты
  • Подробная информация о состоянии приложения
  • Профилирование
  • Консоль для исполнения кода в рантайме
и множество других преимуществ, которые вы откроете для себя в процессе использования.

Внимание! Крайне не рекомендую использовать это на production-сервере. Данная технология позволяет производить удалённую отладку, что подразумевает под собой полный доступ к среде исполнения любого (в том числе и вредоносного для вашего сервера) кода. Если вы всё же решили использовать отладчик на production-сервере, не забудьте блокировать соединения к порту отладчика не из белого списка через файрволл.

Требования к системе:
- phpstorm как IDE (можно использовать и с другими IDE, но кнопочки другие будут)

Инструкция:
1. В конфиг сервера conf.json необходимо добавить строку "node-commandline-flags": "--inspect=9229". Также вы можете заменить порт 9229 на любой другой неиспользуемый порт. В результате у вас должен получиться подобный конфиг:
JSON:
{
    "maxplayers" : 100,
    "name" : "RAGE:MP Unofficial server",
    "gamemode" : "freeroam",
    "stream-distance" : 500.0,
    "announce" : false,
    "port": 22005,
    "bind": "0.0.0.0",
    "allow-cef-debugging": true,
    "voice-chat": true,
    "voice-chat-sample-rate": 48000,
    "node-commandline-flags": "--inspect=9229"
}
2. В phpstorm открываем конфигурации среды: Run -> Edit configurations (см. скриншот)
3. В открывшемся окне нажимаем "+", выбираем "Attach to Node.js/Chrome" в выпадающем списке. Открывшемся окне конфигурации вводим порт, который вы указали в conf.json.
4. Обязательно ставим галочку "Reconnect automatically".
4.1. (пропустите, если используете отладчик на локальном сервере) Если вы хотите подключить отладчик к удалённому серверу, в поле "Host" вместо localhost необходимо указать IP-адрес сервера. Не забывайте, что на удалённом сервере должен быть открыт указанный в conf.json порт. Итоговая конфигурация для локального сервера должна выглядеть следующим образом:

После выполнения всех шагов запускаем сервер, а в phpstorm нажимаем "Run > Debug" и выбираем созданную вами конфигурацию или нажимаем сочетание клавиш ALT+SHIFT+F9. Для теста можно поставить брейкпоинт в index.js или в коллбек playerConnect.

Другие статьи:
Как не стоит делать: безопасность ивентов и клиентских скриптов
Как не стоит делать: база данных и работа с ней на примере RedAge
 
Последнее редактирование:

welaurs

Начинающий специалист
Автор темы
30 Ноя 2021
19
46
48
Здесь 90% даже не слышали про софт от Jetbrains
В этом ничего страшного нет. Мне кажется одна из фундаментальных целей данного форума - обучение. Обучение подразумевает под собой то, что люди приходят с целью получить знания и улучшить свои навыки. Безусловно, есть пласт "как добавить одежду" и любителей RedAge или, как его правильно назвать по моему мнению, пример того, как делать не надо. Но я также надеюсь, что есть люди, которым интересно перенять какой-либо опыт, поделиться своим и улучшить, если так можно выразиться, культуру программирования в рейдже.
 
Реакции: lmklde

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,067
2,457
219
Почему именно PHPStorm?.. если есть более удобная и популярная - Visual Studio Code, там тоже есть возможность дебажить Nodejs.
 

UchihaMadara

Гуру
high coder
27 Окт 2020
512
225
101
Попробуй сначала Storm(А лучше IntelliJ IDEA), ты поменяешь свое мнение об удобности VSCode
 
Реакции: skyElmax

IronPython

Специалист
high coder
7 Ноя 2020
169
64
82

Amazingevich

Гуру
27 Апр 2021
667
487
124
Хз как вам, но мне кажется или для js юзают webstorm Ну а так vscode топ за свои деньги
ну разве что для челов с лоу пк он топ (между JetBrains софтом и VSCode проще выбрать первое в силу удобности и в каком-то смысле возможностей)
vscode по своему хорош, но если ты постоянно что-то пишешь, то в перспективе всё равно перейдешь к JB
 
Реакции: IronPython

UchihaMadara

Гуру
high coder
27 Окт 2020
512
225
101
Скоро Fleet еще зарелизят, так VSCode на помойку можно будет выкинуть
 
Реакции: celis

welaurs

Начинающий специалист
Автор темы
30 Ноя 2021
19
46
48
Привычка. Я не признаю продукты Microsoft и считаю их неудобными: что Visual Studio, что Visual Studio Code. Второй вообще не внушает доверия, ибо больше похож на текстовый редактор, чем на полноценную IDE. Но о вкусах не спорят, каждый работает с тем, что удобно
 
Реакции: celis и UchihaMadara