Jak używać Byebug ze zdalnym procesem (np. pow)

Jak połączyć się ze zdalną instancją debugowania Byebug (do użytku z Pow, itp.)?

Author: Joseph Siefers, 2014-04-01

2 answers

[13]] odpowiedź Józefa była dobra, ale trochę myląca. Ustawia uruchomienie serwera byebug w config/environments/development.rb, Kiedy byłoby lepiej w inicjalizatorze. Dodatkowo eksport zmiennej środowiskowej następuje w .powenv lub .powrc. Tak to działa.

W Twoim gemfile:

gem 'byebug'

W wierszu poleceń:

bundle install

Jeśli używasz Pow, Dodaj do .powenv:

export BYEBUGPORT=3001

Jeśli używasz innych frameworków (np. just foreman), możesz zamiast tego musisz zmodyfikować .env.

W config/initializers/byebug.rb

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

I wreszcie w wierszu poleceń:

touch tmp/restart.txt

Po przejściu na stronę pow, serwer byebug powinien zostać uruchomiony. W wierszu poleceń możesz teraz wykonać:

[bundle exec] byebug -R localhost:3001
 36
Author: Nicholas Gronow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-24 08:18:16

Musiałem zebrać informacje z kilku różnych źródeł, aby osiągnąć powyższe, więc pomyślałem, że dołączę tutaj skonsolidowany przewodnik wygoda:

Oto kroki:

  1. W config / environments / development.rb, dodaj:

    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. Uruchom Pow i odwiedź yourapp.dev

  3. Uruchom następujące:

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

Powinieneś zobaczyć pomyślne połączenie ze zdalną instancją.

 32
Author: Joseph Siefers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-15 18:23:33