III.7 Удалённый отладчик
По модели Go/Delve: процесс запускается в headless-режиме, отладчик подключается по сети.
$ ./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