Мастер отладки запустил приложение с byebug. Удаленная отладка подключается, но не показывает приглашение

У меня есть бригадир, запускающий несколько приложений. Я настроил сервер byebug с портом

#config/initializers/byebug.rb
if Rails.env.development?
  require 'byebug/core'
  #Byebug.wait_connection = true

  def find_available_port
    server = TCPServer.new(nil, 0)
    server.addr[1]
  ensure
    server.close if server
  end

  port = find_available_port

  puts "Starting remote debugger..."
  Byebug.start_server nil, port
  puts "Remote debugger on port #{port}"
end

Я начинаю службу с

$ foreman start

Я вижу запуск службы и номер порта, указанный в терминале:

21:20:58 web.1       | => Ctrl-C to shutdown server
21:20:58 web.1       | Starting remote debugger...
21:20:58 web.1       | Remote debugger on port 54635

Я запускаю byebug с удаленной опцией, и все, что я получаю, это:

$ byebug -R localhost:54635
Connecting to byebug server...
Connected.

И это моя проблема. "Связанный." но без подсказки. Кроме того, точка останова, за которой я следую, похоже, срабатывает, но удаленная отладка byebyg больше ничего не делает.

Идеи? Кто угодно? Потому что я искал везде, и похоже, что ни у кого нет подобной проблемы.

Мои системные параметры:

  • ОС Х Эль-Капитан 10.11.2
  • рубин 2.2.3
  • рельсы 4.1.14
  • пока еще 8.2.1
  • бригадир 0.78.0

person jannolii    schedule 17.01.2016    source источник
comment
Вероятно, это как-то связано с этим: https://github.com/deivid-rodriguez/byebug/issues/141   -  person Jason Kotchoff    schedule 09.03.2016


Ответы (1)


Я могу подтвердить, что концепция @jannolii работает с этим byebug commit. Кроме того, я раскомментировал:

Byebug.wait_connection = true

Все остальное, что у вас было, похоже, работает. Обновите гем byebug до 10.0, и я думаю, вам повезет. :)

person mhaliski    schedule 03.02.2018