Используя Rails4.1.1 и Ruby 2.0.0, вывод терминала binding.pry иногда пуст
Я пытаюсь отладить приложение Rails 4.1.1 с помощью binding.pry
но чаще всего, когда выполнение прерывается, и я пытаюсь показать значения моих переменных, он просто возвращает пустую строку или ничего (трудно различить).
Но в других случаях это выплевывает ценности. Я заметил, что более вероятно выпустить значение переменной, если эта переменная содержит очень длинный фрагмент текста или JSON. В противном случае это просто игнорируется.
Точно так же пытаясь сделать другие основные binding.pry
вещи как !
сбросить входной буфер или hist --tail 5
и т. д. просто игнорируются.
Rails запускается через foreman
и работает в thin
,
Я предполагаю, что это какая-то проблема с выходной синхронизацией, но это всего лишь предположение.
Испытывали ли вы это, и если да, то как вы справились с этим?
1 ответ
Ты используешь pry-debugger
? Если так, то с Ruby 2+ вы можете перейти на pry-byebug. Есть какая-то linecache
несовместимость между Ruby 1.9 и 2.x, и byebug
исправляет это.