ruby on rails - ByeBug remote won't hit breakpoints with Unicorn -
i launch unicorn through foreman, debugger prompt swallowed. i've had luck debugger gem in past connecting remote debugger.
we're upgrade ruby 2.1.2 which, understand it, not compatible debugger.
i've changed remote debugger code use byebug:
require 'byebug' def find_available_port server = tcpserver.new(nil, 0) server.addr[1] ensure server.close if server end port = find_available_port puts "remote debugger on port #{port}" byebug.start_server('localhost', port) once unicorn started, can connect byebug:
$ byebug -r localhost:54623 connecting byebug server localhost:54623 connected. but code littered byebug calls, , never trigger breakpoint in remote debugger. pages block on load when debugger not remote load when connected remotely.
the unicorn file specifies 1 worker, i'm reasonably sure that's not it:
require file.dirname(__file__)+'/application' if rails.env.development? worker_processes 1 timeout_override = env['webserver_timeout_override'] timeout integer(timeout_override || 3600) if timeout_override puts "development: using webserver_timeout_override of #{timeout_override} seconds" end else worker_processes integer(env['web_concurrency'] || 3) timeout 25 end preload_app true before_fork |server, worker| signal.trap 'term' puts 'unicorn master intercepting term , sending myself quit instead' process.kill 'quit', process.pid end defined?(activerecord::base) , activerecord::base.connection.disconnect! end after_fork |server, worker| signal.trap 'term' puts 'unicorn worker intercepting term , doing nothing. wait master send quit' end defined?(activerecord::base) , activerecord::base.establish_connection end any ideas appreciated.
i think missed 1 simple setting: byebug.wait_connection = true
change this
port = find_available_port puts "remote debugger on port #{port}" byebug.start_server('localhost', port) to this
port = find_available_port puts "remote debugger on port #{port}" byebug.wait_connection = true byebug.start_server('localhost', port) this should magic. hope helps.
Comments
Post a Comment