Я установил камень отладчика в проекте, над которым я работаю. Они используют тонкий сервер с ssl. Когда я помещаю отладчик в код, он не запускается, пока я не перезапущу сервер. И тогда, если я удалю отладчик, он не исчезнет, пока я не перезапущу сервер. Есть идеи, почему это происходит?Необходимо перезапустить тонкий сервер (с SSL) каждый раз, чтобы запустить Ruby Debugger нормально?
Необходимо перезапустить тонкий сервер (с SSL) каждый раз, чтобы запустить Ruby Debugger нормально?
ответ
Это зависит от того, где вы размещаете отладчик. Rails настроена на перезагрузку всего содержимого /app
по каждому запросу. Если вы разместите там вызов debugger
, он будет перезагружен по каждому запросу.
В противном случае, если вы разместите его в другом месте, например, в lib
, тогда этого не произойдет.
Кроме того, вы можете использовать отладчик в сочетании с автоматическим тестированием, а не с проверкой браузера. Это сделает тест более эффективным.
Для того, чтобы использовать отладчик с тонким, необходимо запустить сервер рельсов с --debugger быстрой
rails s --debugger
всякий раз, когда сервер встречает отладчик заявление, Рельсы сервера подключение к отладочной консоли. Никакой другой запрос не будет подан в этом контексте. когда вы завершаете отладку инструкцией continue или не остаетесь точкой останова, тогда сервер начинает вести себя нормально до тех пор, пока не повторит утверждение отладчика.
Я использую thin -ssl, чтобы запустить сервер. Должен ли я добавить --debugger к этому, чтобы он работал правильно? –
вы можете попробовать. –
Не работает ... Я не думаю, что это тонкая команда haha –
С помощью этой команды зафиксировал его:
thin --ssl --debug start
Я поместил отладчик/приложение, но он не получал загружен, если я не перезапустить сервер. –