Настройка 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