OxL Справочник OxL
РусскийEnglish

III.7 Удалённый отладчик

По модели Go/Delve: процесс запускается в headless-режиме, отладчик подключается по сети.

sh
$ ./shop --debug-listen 0.0.0.0:2345 --role api
$ oxl debug attach 10.0.3.7:2345              # с машины разработчика
$ oxl debug --node api-2 --cluster shop.internal:7000   # через кластер, без открытия порта
  • --debug-listen включает DAP-сервер в процессе. Без флага код отладчика не активен и порт не открыт.
  • Подключение — только по mTLS. Клиент ДОЛЖЕН предъявить сертификат принципала с ролью debug (выдаётся oxl keys issue --role debug); в профиле dev достаточно токена --debug-token.
  • Политика debug в этой реализации (поправка редакции 1.0, D-8056; DIV-041; D-6401, D-6652): доступ имеет принципал с ролью Admin, debug или inspect, либо сертификат кластера с ролью.
  • oxl debug --node <id> проксирует сессию через межузловой протокол: подключение к любому узлу кластера, без открытия отдельного порта; включение на узле — командой oxl debug enable --node <id> --for 30m (по политике debug).
  • Режимы: --non-stop (по умолчанию в prod: останавливается только задача с брейкпоинтом, остальные работают) и --all-stop.
  • Для понятных стеков в prod нужна отладочная информация (debug-info = "line" по умолчанию; full — по флагу сборки).
  • Каждое подключение и действие отладчика пишется в oxl.audit.

Исходник: docs/spec/oxl-standard.md