Установите дробовик, чтобы начать тонко с его флагом отладки

Я пытаюсь заставить гем отладчика работать с дробовиком, и для работы отладчика мне нужно, чтобы тонкий сервер был запущен с "Отладкой ВКЛ".

Если я бегу либо:

shotgun -p 1378 -s thin -d -o 0.0.0.0
shotgun -p 1378 -s thin --debug -o 0.0.0.0

Я получаю дробовик, начиная с переменной ruby ​​$DEBUG, установленной в true, вместо того, чтобы тонкий сервер запускался с флагом отладки.

Если я бегу:

shotgun -pp 1378 -s "thin --debug" -o 0.0.0.0

Я получаю ошибку. Есть ли другой способ запустить это, или какой-то способ сказать тонкому запускаться в режиме отладчика, когда среда настроена на разработку?

1 ответ

Решение

Ваш -d а также --debug варианты интерпретируются Shotgun, а не Thin, и это то, что устанавливает $DEBUG к истине.

Флаг командной строки Thin для включения отладки -D или же --debug и это устанавливает Thin::Logging.debug к истине. Вы не можете использовать thin параметры командной строки (так как командная строка читается shotgun который запускает сервер), но вы можете установить эту переменную с помощью некоторого нормального кода Ruby. Одним из способов сделать это было бы с shotgun.rb файл, который требует Thin и меняет настройки:

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

и с файлом:

$ 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

Насколько я могу судить, этот параметр влияет только на многословность ведения журнала Thin и не имеет ничего общего с гемом Debugger.

Другие вопросы по тегам