Jak używać Byebug ze zdalnym procesem (np. pow)
Jak połączyć się ze zdalną instancją debugowania Byebug (do użytku z Pow, itp.)?
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
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:
- 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
Oto kroki:
-
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
-
Uruchom Pow i odwiedź yourapp.dev
-
Uruchom następujące:
[bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
Powinieneś zobaczyć pomyślne połączenie ze zdalną instancją.
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