Jos*_*ers 27 ruby-on-rails ruby-on-rails-4 byebug rack-pow
如何连接到Byebug的远程调试实例(与Pow等一起使用)?
Nic*_*now 38
约瑟夫的回答很好,但在一些小方面令人困惑.他将byebug服务器的起始位置放在config/environments/development.rb初始化器中会更好.此外,环境变量的导出进入.powenv或.powrc.这就是我开始工作的方式.
在你的gemfile中:
gem 'byebug'
Run Code Online (Sandbox Code Playgroud)
在命令行上:
bundle install
Run Code Online (Sandbox Code Playgroud)
如果您使用Pow,请将以下内容添加到.powenv:
export BYEBUGPORT=3001
Run Code Online (Sandbox Code Playgroud)
如果您正在使用其他框架(例如,仅仅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
Run Code Online (Sandbox Code Playgroud)
最后在命令行上:
touch tmp/restart.txt
Run Code Online (Sandbox Code Playgroud)
一旦你去了pow站点,应该启动byebug服务器.在命令行上,您现在可以执行以下操作:
[bundle exec] byebug -R localhost:3001
Run Code Online (Sandbox Code Playgroud)
Jos*_*ers 34
我不得不将来自几个不同来源的信息拼凑起来完成上述工作,所以为了方便起见,我想我会在这里加入一份综合指南:
以下是步骤:
在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
Run Code Online (Sandbox Code Playgroud)重启Pow并访问yourapp.dev
运行以下命令:
[bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
Run Code Online (Sandbox Code Playgroud)您应该看到与远程实例的成功连接.
在你的代码中
remote_byebug
Run Code Online (Sandbox Code Playgroud)
调用您的代码(例如,通过刷新页面)。这将在端口 8989 上启动本地 byebug 服务器。然后您的代码将“挂起”等待客户端连接。
通过终端连接到它:
byebug -R localhost:8989
Run Code Online (Sandbox Code Playgroud)
从https://github.com/deivid-rodriguez/byebug/pull/406/files开始,不再需要手动配置服务器
| 归档时间: |
|
| 查看次数: |
9927 次 |
| 最近记录: |