如何连接到Byebug的远程调试实例(与Pow等一起使用)?
答案 0 :(得分:36)
约瑟夫的回答很好,但在某些方面令人困惑。他将byebug服务器的起始位置放在config/environments/development.rb
中,当它在初始化器中更好时。此外,环境变量的导出位于.powenv
或.powrc
。这就是我开始工作的方式。
在你的gemfile中:
gem 'byebug'
在命令行上:
bundle install
如果您使用的是Pow,请将以下内容添加到.powenv
:
export BYEBUGPORT=3001
如果您使用的是其他框架(例如foreman
),则可能需要修改.env
。
在config/initializers/byebug.rb
if Rails.env.development? and ENV['BYEBUGPORT']
require 'byebug/core'
Byebug.start_server 'localhost', ENV['BYEBUGPORT'].to_i
end
最后在命令行上:
touch tmp/restart.txt
一旦你去了pow站点,就应该启动byebug服务器。在命令行上,您现在可以执行以下操作:
[bundle exec] byebug -R localhost:3001
答案 1 :(得分:33)
我必须将来自几个不同来源的信息拼凑起来以实现上述目标,因此我认为为方便起见,我在此处加入了合并指南:
以下是步骤:
在config / environments / development.rb中,添加:
require 'byebug'
#set in your .powconfig
if ENV['RUBY_DEBUG_PORT']
Byebug.start_server 'localhost', ENV['RUBY_DEBUG_PORT'].to_i
else
Byebug.start_server 'localhost'
end
重启Pow并访问yourapp.dev
运行以下命令:
[bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
您应该看到与远程实例的成功连接。
答案 2 :(得分:3)
在你的代码中
remote_byebug
调用您的代码(例如,通过刷新页面)。这将在端口 8989 上启动本地 byebug 服务器。然后您的代码将“挂起”等待客户端连接。
通过终端连接到它:
byebug -R localhost:8989
自 https://github.com/deivid-rodriguez/byebug/pull/406/files 起不再需要手动配置服务器