Установите дробовик, чтобы начать тонко с его флагом отладки
Я пытаюсь заставить гем отладчика работать с дробовиком, и для работы отладчика мне нужно, чтобы тонкий сервер был запущен с "Отладкой ВКЛ".
Если я бегу либо:
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.