How to use Byebug with a remote process (e.g., pow)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-20 08:12:57

问题


How do I connect to a remote debugging instance of Byebug (for use with Pow, etc)?


回答1:


Joseph's answer was good but confusing in some small ways. He places the starting of the byebug server in config/environments/development.rb, when it would be better in an initializer. Additionally the exporting of the environment variable go in .powenv or .powrc. This is how I got it to work.

In your gemfile:

gem 'byebug'

On the command line:

bundle install

If you are using Pow, add the following to .powenv:

export BYEBUGPORT=3001

If you are using other frameworks (e.g. just foreman), you may have to modify .env instead.

In config/initializers/byebug.rb

if Rails.env.development? and ENV['BYEBUGPORT']
  require 'byebug/core'
  Byebug.start_server 'localhost', ENV['BYEBUGPORT'].to_i
end

And finally on the command line:

touch tmp/restart.txt

Once you go to your pow site, the byebug server should be started. On the command line you can now do:

[bundle exec] byebug -R localhost:3001



回答2:


I had to piece together information from several different sources to accomplish the above, so I thought I'd include a consolidated guide here for convenience:

  • https://github.com/deivid-rodriguez/byebug/pull/29,
  • https://github.com/deivid-rodriguez/byebug/pull/36,
  • https://github.com/deivid-rodriguez/byebug/issues/31
  • http://mines.mouldwarp.com/2012/04/pow-guard-and-rdebug-staying-in-web-app.html

Here are the steps:

  1. In config/environments/development.rb, add:

    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
    
  2. Restart Pow and visit yourapp.dev

  3. Run the following:

    [bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
    

You should see a successful connection to the remote instance.



来源:https://stackoverflow.com/questions/22794176/how-to-use-byebug-with-a-remote-process-e-g-pow

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!