Gute Arbeit :) Aber könnten Sie ein Fatgem machen (das sowohl 1.8 als auch 1.9 Ruby-Debug-Versionen enthält), damit wir nicht daran denken müssen, rubydebbug19 zu machen? :)
horseyguy
4
Es scheint nicht fair, dies abzulehnen, nur weil der Lauf der Zeit es jetzt zur falschen Antwort gemacht hat. SO benötigt eine Möglichkeit, solche Anwendungsfälle zu behandeln, damit die neue richtige Antwort als erste aufgeführt wird, ohne die Autoren älterer Antworten zu bestrafen, die für niemanden mehr nützlich sind.
Bilderstürmer
167
ruby-debug19wird nicht mehr gepflegt. Alle anderen Antworten sind veraltet.
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.
Funktioniert gut. Viel besser als Ruby-Debug von Hand zu installieren. Vielen Dank.
manu_v
5
Dies muss wirklich als oberste Antwort nach oben verschoben werden.
Matt Zukowski
2
Ja, diese Antwort muss wirklich die beste sein.
Nazar Hussain
Und wie wäre es, wo dies tatsächlich in der Gemfile hingeht?
Rig
Ist egal. Platzieren Sie es, wo immer Sie möchten, nur nicht in einem Gruppenblock (nicht in group :development do ... endoder ähnlichem), da es bereits eine Gruppe enthält.
iblue
70
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.
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:
Danke, für mich war das die passendere Antwort. Aber vielleicht liegt das daran, dass Sie fast ein Jahr später geantwortet haben und sich die Dinge in dieser Hinsicht endgültig geändert haben.
Markieren Sie den
3
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!
Korrigieren Sie mich, wenn ich falsch liege, aber ich glaube nicht, dass der Debugger für Ruby 1.9.1 (C-Implementierung) noch funktioniert. Zumindest ist es mir nicht gelungen, es zum Laufen zu bringen.
JP Richardson
0
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 .
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.
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.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):
(mit vielleicht dem notwendigen 'sudo' davor).
quelle
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
: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.quelle
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:
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:
Dies löst das Problem für mich.
ALTES UPDATE
Wenn Sie Probleme mit Ruby 1.9.2 und Rails 3 Debugging Putting haben:
In deiner Gemfile und mache a
Wir machen Sie wieder zu einem glücklichen Debugger.
quelle
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?
[1] http://beaver.net/rdebug/index-0.html
quelle
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.
Oh, und danke Herrn Moseley für all Ihre harte Arbeit!
quelle
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:
Ich hoffe das hilft!
- Freddy
quelle
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
quelle
Netbeans ist eine gute IDE für RoR. Guter Debugger auch.
quelle
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:
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 .
quelle
Die neuesten Funktionen sind in ruby-debug-ide19 gem verfügbar.
quelle
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.
quelle
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
quelle