Wie verbinde ich mit einer Remote-Debugging-Instanz von Byebug (für die Verwendung mit Pow, usw.)?Wie Byebug mit einem Remote-Prozess (z. B. Pow)
Antwort
Ich hatte Informationen aus verschiedenen Quellen, um Stück zusammen, um die oben zu erreichen, so dass ich dachte, dass ich hier eine konsolidierte Führung für die Bequemlichkeit umfassen würde:
- 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
Hier sind die Schritte:
In config/Umgebungen/development.rb hinzu:
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
Restart Pow und besuchen yourapp.dev
Führen Sie den folgenden:
[bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
Sie sollten eine erfolgreiche Verbindung zur Remote-Instanz sehen.
Josephs Antwort war gut, aber in mancherlei Hinsicht verwirrend. Er legt den Start des Byebug-Servers in config/environments/development.rb
, wenn es in einem Initialisierer besser wäre. Zusätzlich wird die Umgebungsvariable .powenv
oder .powrc
exportiert. So habe ich es zum Laufen gebracht.
In Ihrem gemfile:
gem 'byebug'
Auf der Kommandozeile:
bundle install
Wenn Sie Pow verwenden, fügen Sie folgendes zu .powenv
:
export BYEBUGPORT=3001
Wenn Sie mit andere Frameworks (zB nur foreman
), müssen Sie möglicherweise ändern .env
stattdessen.
In config/initializers/byebug.rb
if Rails.env.development? and ENV['BYEBUGPORT']
require 'byebug/core'
Byebug.start_server 'localhost', ENV['BYEBUGPORT'].to_i
end
Und schließlich auf der Kommandozeile:
touch tmp/restart.txt
Sobald Sie Ihre pow Website gehen, sollte der byebug Server gestartet werden. In der Befehlszeile können Sie jetzt tun:
[bundle exec] byebug -R localhost:3001
wirklich gut gemacht. Es hat genau so funktioniert, wie du es dokumentiert hast. –
Yup, folgte den Anweisungen und es funktioniert wie ein Charme. Danke Nicholas! –
Beachten Sie, dass "touch tmp/restart.txt" je nach Anwendungsserver möglicherweise nicht benötigt wird. Wird für den Passagier in der Produktion benötigt und wird normalerweise in der Entwicklung auf keinem App-Server benötigt. –
- 1. Schienen - Params mit "Punkt" (z. B. /google.com)
- 2. Übereinstimmen mit einem^n b^n c^n (z. B. "aaabbbccc") mit regulären Ausdrücken in C#
- 3. Serialize-Berechtigungen (z. B. CanCan) mit Active_model_serializers
- 4. Übereinstimmende Sonderzeichen (z. B. #, +) mit pg_search
- 5. Fehlerbehebung z. B. Flash 404
- 6. Wie funktionieren verteilte Transaktionen (z. B. MSDTC)?
- 7. Passende Zeichenfolge mit Shell-Wildcards (z. B. *)
- 8. Wie wird eine Schriftgröße (z. B. 32pt) mit \ setbeamerfont festgelegt?
- 9. Wie erkennt man Klänge (z. B. Hände klatschen) mit Flash?
- 10. Abrufen der Beobachtungen in einem Rpart-Knoten (z. B. CART)
- 11. Entfernen selbstschließende Tags (z. B. />) in einem XmlDocument
- 12. Wie ohne Stützpunkte in Byebug
- 13. Silverlight ändert Stile basierend auf einem Objekteigenschaftswert (z. B. DataTrigger)
- 14. Konvertieren Excel-Spalte Alphabet (z. B. AA) zu Nummer (z. B. 25)
- 15. Unterschied zwischen ComponentModel-Reflektion (z. B. PropertyDescriptor) und Standardreflexion (z. B. PropertyInfo)?
- 16. MySQL mehrere Elemente übereinstimmen, wo (A, B, Z) IN (A, B, C, E, Z)
- 17. Plattformübergreifendes Befehlszeilenskript (z. B. .bat und .sh)
- 18. iOS8 regionale Lokalisierung (z. B. pt-BR)?
- 19. Verwenden von JUnit @Rule mit ScalaTest (z. B. TemporaryFolder)
- 20. Verwenden von NGrok mit POW
- 21. Wie kann ich verlangen, dass Browser bestimmte Seitenelemente, wie z. B. CSS-Blätter, immer aktualisieren (z. B. niemals zwischenspeichern)?
- 22. Möchten Staging-Subdomain erstellen z. B. staging.example.com
- 23. Bild (z. B. jpg) einer Webseite generieren?
- 24. Wie AJAX API vor unerwünschter Verwendung (z. B. jemand mit einem SELECT *) zu beschränken
- 25. Indexkonvertierung: zeilenweise kartesische Koordinaten (z. B. Pixel)
- 26. Was ist Doppelstern (z. B. NSError **)?
- 27. Javascript Autokomplettierung für DSL. (z. B. SQL)
- 28. textView, z. B. kann nicht ausgewählt werden?
- 29. So ändern Sie Verzeichnisdetails (z. B. Autor, Datum ...) mit vba
- 30. Unterschied zwischen einem +++++ b und einem ++ + ++ b
Vielen Dank dafür. Ich kann mich mit dem Server verbinden, aber meine Breakpoints brechen nicht. Irgendwelche Ideen? Orte zum Starten? Vielen Dank! –
Verwenden Sie Pow? Wenn ja, versuchen Sie die erste Antwort in http: // stackoverflow.com/questions/8996498/ruby-debug-mit-pow-breakpoints-nie getroffen –
Ich benutze pow. Ich habe die Antwort versucht, kein Glück. Ich sitze an einem Terminal mit 'Connecting by byebug server localhost: 12346. Connected.' und viele 'byebug' rufen meinen Code auf, aber kein Brechen! Ich bin zu diesem Zeitpunkt ratlos - wenn Sie noch andere Ideen haben, bin ich ganz Ohr! Ansonsten, danke für deine Hilfe! –