Настройка shotgun для запуска thin с флагом отладки
Я пытаюсь заставить отладчик gem работать с shotgun, и для работы отладчика мне нужно, чтобы тонкий сервер был запущен с "Debugging ON".
Если я выполняю либо:
shotgun -p 1378 -s thin -d -o 0.0.0.0
shotgun -p 1378 -s thin --debug -o 0.0.0.0
Я получаю shotgun, начиная с переменной $ DEBUG ruby, установленной в true, вместо того, чтобы запускать тонкий сервер с флагом отладки.
Если я бегу:
shotgun -pp 1378 -s "thin --debug" -o 0.0.0.0
Я получаю ошибку. Есть ли другой способ запустить это, или какой-то способ сказать thin, чтобы начать в режиме отладчика, когда среда настроена на развитие?
1 ответ:
Ваш
-dи--debugварианты интерпретируются дробовиком , а не тонким, и это то, что устанавливает$DEBUGв true.Флаг командной строки Thin для включения отладки является
-Dили--debugи это устанавливаетThin::Logging.debugв true. Вы не можете использовать параметры командной строкиthin(если командная строка читается командойshotgun, которая запускает сервер), но вы можете установить эту переменную с помощью обычного кода Ruby. Один из способов сделать это был бы с ashotgun.rbфайл, который требует тонкого и изменяет настройку:require 'thin' Thin::Logging.debug = true(Вы можете поместить это в
begin...rescue...blockи спасти LoadError в случае, если Thin недоступен.)Вывод без этого файла:
$ shotgun == Shotgun/Thin on http://127.0.0.1:9393/ >> Thin web server (v1.4.1 codename Chromeo) >> Maximum connections set to 1024 >> Listening on 127.0.0.1:9393, CTRL+C to stopИ с файлом:
Насколько я могу судить, эта настройка влияет только на многословность ведения журнала Thin и не имеет ничего общего с отладчиком gem.$ shotgun == Shotgun/Thin on http://127.0.0.1:9393/ >> Thin web server (v1.4.1 codename Chromeo) >> Debugging ON >> Maximum connections set to 1024 >> Listening on 127.0.0.1:9393, CTRL+C to stop