我有一个rails应用程序,我使用foreman启动我的rails和sidekiq服务器.由于工头与常规的byebug不能很好地交互(你在输入时看不到提示),我已经为我的rails和sidekiq服务器设置了远程调试.这适用于rails服务器,但是当我连接到sidekiq服务器的byebug服务器时,我得到以下内容:
$ bundle exec byebug -R localhost:58501 Connecting to byebug server localhost:58501... Connected. (byebug:ctrl)
而且我无法抓住任何一个比赛断点.
根据该文件,在(byebug:CTRL)提示意味着程序正常结束(https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md),但sidekiq正在运行的工作就好了.
我的配置中是否有不正确的内容,或者sidekiq与byebug的远程调试不兼容?
Procfile:
sidekiq: bundle exec sidekiq rails: rails server
配置/初始化/ byebug.rb:
if Rails.env.development? 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 "Starting remote debugger..." Byebug.start_server 'localhost', port puts "Remote debugger on port #{port}" end
请注意,当我不使用远程调试时,byebug与sidekiq一起运行良好(虽然在工头我无法看到我输入的提示).
另请注意,我之前尝试过使用Byebug.wait_connection = true
过Byebug.start_server
,但我遇到了同样的问题.