Was benutzt ihr zum Debuggen in Ruby 1.9? rdebug scheint nicht kompatibel zu sein .. gibt es da draußen etwas?
Was benutzt ihr zum Debuggen in Ruby 1.9? rdebug scheint nicht kompatibel zu sein .. gibt es da draußen etwas?
Antworten:
Hinweis: Diese Antwort war korrekt, ist aber jetzt veraltet. Siehe die unten stehende richtige Antwort. TL; DR: Verwenden Sie jetzt 'Debugger'.
Ruby-Debug ist jetzt mit Ruby 1.9.x verfügbar. Siehe http://www.github.com/mark-moseley
So installieren Sie (mit gem bei der Installation von 1.9 Ruby):
gem install ruby-debug19
(mit vielleicht dem notwendigen 'sudo' davor).
ruby-debug19
wird nicht mehr gepflegt. Alle anderen Antworten sind veraltet.
Aber es gibt eine Alternative:
debugger
zur Rettung!
Tragen Sie dies in Ihre Gemfile
:
gem 'debugger', group: [:development, :test]
Es funktioniert einfach. - Und es ist in den Schienen Gemfile seit 3.2 enthalten ruby-debug19
. Etwas zu ersetzen . Es hat genau die gleiche Funktionalität und wird aktiv gewartet.
group :development do ... end
oder ähnlichem), da es bereits eine Gruppe enthält.
UPDATE FÜR RUBY 2.0+ und FOLGENDES
byebug ist der derzeit empfohlene Debugger für Ruby 2.0+
Dieses Problem wurde hier dokumentiert , und cldwalker, der Autor des Debuggers, stellt fest, dass der Debugger auf Ruby 1.9.2 und 1.9.3 beschränkt sein wird.
UPDATE 2
Es ist wahr, dass Ruby-Debug nicht aktiv gepflegt wird, auch wenn ich nirgendwo etwas finde, das nicht mehr gepflegt wird.
Du kannst den ... benutzen neuen Debugger-Edelstein verwenden, wenn Sie Hilfe benötigen, um mit dem neuen Edelstein zu beginnen. Sie können sehen, wie Ryan Bates-Schienen gegossen werden .
In dein Gemfile setzen:
gem 'debugger', group: [:development, :test]
Sie können dann mit dem debugger
Schlüsselwort an einer beliebigen Stelle in Ihrem Code einen Haltepunkt hinzufügen .
SIE KÖNNEN NOCH VERWENDEN
linecache19 und ruby-debug-base19 mit:
bash << (curl -L https://raw.github.com/gist/1333785 )
ALTE ANTWORTEN
Nur ein Add-On dazu mit rvm, Ruby 1.9.1-p378. Die wahre Geschichte ist, dass Linecache-0.43 dies nicht ist, selbst wenn Ruby-Debug 1.9.x bereit ist. Die Lösung besteht darin, Folgendes zu installieren:
gem install ruby-debug19
Dies löst das Problem für mich.
ALTES UPDATE
Wenn Sie Probleme mit Ruby 1.9.2 und Rails 3 Debugging Putting haben:
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
In deiner Gemfile und mache a
bundle install
Wir machen Sie wieder zu einem glücklichen Debugger.
Einige Dinge, die Sie versuchen könnten
1) Führen Sie es mit Rubys normalem Debugger -rdebug [1] aus
2) starte es mit Unroller Gem [Art von Gestank, viel langsam]
3) Verwenden Sie viele Druckanweisungen schnell, eine Art weniger Selbstbeobachtung ist möglich
4) Gehen Sie zu einer irb-Eingabeaufforderung und führen Sie von dort aus Code aus.
Sie können den Code auflisten, indem Sie eine eigene "Drop to IRB-Eingabeaufforderung" erstellen, in der der Code um sich herum aufgelistet ist [verwenden Sie den Anrufer, um herauszufinden, wo Sie sich befinden], und dann zu einer normalen IRB-Eingabeaufforderung wechseln.
5) Vielleicht hat jruby im 1.9-Kompatibilitätsmodus einen Debugger?
Wenn Sie nach der Installation von ruby-debug19 immer noch ein Problem haben, aktualisieren Sie ruby-debug-base19. Ich hatte Fehler und konnte WEBrick erst dann im Debug-Modus ausführen, wenn ich das getan habe.
gem update ruby-debug-base19
Oh, und danke Herrn Moseley für all Ihre harte Arbeit!
Siehe meine Antwort hier: Ruby-Debug funktioniert nicht - Stack Overflow
Es geht darum, das Ruby-Debugging mit dem folgenden Setup zum Laufen zu bringen
Mit rvm habe ich in meinem Projektarbeitsverzeichnis eine .rvmrc-Angabe:
rvm use ruby-1.9.3-p0@mygemset
Ich hoffe das hilft!
- Freddy
Ich habe folgendes verwendet und es funktioniert großartig für mich:
Edelstein 'Debugger', Gruppe: [: Entwicklung ,: Test]
ruby 1.9.3p194 (2012-04-20 Revision 35410) [x86_64-linux] Schienen 3.2.8
Netbeans ist eine gute IDE für RoR. Guter Debugger auch.
Die Ruby 1.9.1-p243-Version ist erschienen und die kompatible Ruby-Debug-Idee funktioniert ebenfalls einwandfrei. Installieren Sie ruby-debug-ide mit dem folgenden Befehl:
gem install ruby-debug-ide
Dadurch werden die Edelsteine ruby-debug-base19 und ruby-debug-ide installiert. Stellen Sie jedoch zuvor sicher, dass Sie das mingw erfolgreich installieren, indem Sie die von RubyForge erhältlichen Development Kit-Dokumente befolgen .
Die neuesten Funktionen sind in ruby-debug-ide19 gem verfügbar.
Abhängig von Ihren Bedürfnissen gibt es viele Möglichkeiten.
Ich benutze Pry-Moves, weil ich "zurückblicken" kann, was innerhalb des vorherigen Befehls passiert ist, indem ich sie direkt von Ort aus im Debug-Modus erneut ausführe.
benutzt niemand: ruby -rdebug script.rb
Dann können Sie Folgendes verwenden: b script.rb: ## (wobei ## die Zeilennummer eines gültigen Ruby-Befehls ist), andernfalls befinden Sie sich möglicherweise mitten in Rubygems oder einem Ihrer erforderlichen Codestücke.
Dann können Sie einfach den nächsten Haltepunkt als b: ## setzen
ruby-debug19
ist jetzt veraltet.