90 Stimmen

Fehlersuche in Ruby 1.9

Was verwenden Sie Jungs für das Debuggen in Ruby 1.9? rdebug scheint nicht kompatibel sein.. gibt es etwas da draußen?

10 Stimmen

Ignorieren Sie die erste Antwort; ruby-debug19 ist inzwischen veraltet.

167voto

iblue Punkte 27770

ruby-debug19 wird nicht mehr gepflegt. Alle anderen Antworten sind veraltet.

Aber es gibt eine Alternative:

debugger zur Rettung!

Legen Sie dies in Ihr Gemfile :

gem 'debugger', group: [:development, :test]

Es funktioniert einfach. - Und es ist in der Rails Gemfile seit 3.2.something enthalten und ersetzt ruby-debug19 . Sie hat genau dieselbe Funktionalität und wird aktiv gepflegt.

70voto

tommasop Punkte 17995

UPDATE FÜR RUBY 2.0+ und FOLLOWING

byebug ist der derzeit empfohlene Debugger für Ruby 2.0+

Dieses Thema wurde hier dokumentiert und cldwalker, der Autor von debugger, stellt fest, dass debugger auf Ruby 1.9.2 und 1.9.3 beschränkt sein wird.

UPDATE 2

Es stimmt, dass ruby-debug nicht aktiv gewartet wird, auch wenn ich keine Stelle finde, die nicht mehr gewartet wird.

Sie können die neues Debugger-Gem Wenn Sie Hilfe für den Start mit dem neuen Edelstein benötigen, können Sie unter Ryan Bates Schienenbesetzung .

Setzen Sie in Ihr Gemfile:

gem 'debugger', group: [:development, :test]

Sie können dann einen Haltepunkt an beliebiger Stelle in Ihrem Code mit der Option debugger Stichwort.

KÖNNEN SIE NOCH VERWENDEN

linecache19 und ruby-debug-base19 mit:

bash < <(curl -L https://raw.github.com/gist/1333785 )

ALTE ANTWORTEN

Nur ein Zusatz zu diesem Thema mit rvm, ruby 1.9.1-p378. Die wahre Geschichte ist, dass, auch wenn ruby-debug 1.9.x bereit ist, linecache-0.43 es nicht ist. Die Lösung ist, zu installieren:

gem install ruby-debug19

Damit ist das Problem für mich gelöst.

OLD 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 Ihrem Gemfile und der Durchführung einer

bundle install

Das macht Sie wieder zu einem glücklichen Debugger.

50voto

Mark Moseley Punkte 612

Hinweis: Diese Antwort war richtig, ist aber inzwischen veraltet. Siehe die untenstehende 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

Zum Installieren (mit gem auf einer 1.9 Ruby-Installation):

gem install ruby-debug19

(vielleicht mit dem notwendigen 'sudo' davor).

3voto

VP. Punkte 5097

Einige Dinge, die Sie versuchen könnten

1) führen Sie es mit Rubys normalem Debugger -rdebug [1] ziemlich langsam

2) es mit unroller gem laufen lassen [stinkt irgendwie, sehr langsam]

3) schnell viele Druckanweisungen verwenden, dadurch weniger Introspektion möglich

4) Wechseln Sie zu einer irb-Eingabeaufforderung und führen Sie dort einen Code aus.

Sie könnten den Code auflisten, indem Sie Ihre eigene "Drop-to-Irb-Eingabeaufforderung" erstellen, die den Code um sich herum auflistet [verwenden Sie den Aufrufer, 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

3voto

Wenn Sie nach der Installation von ruby-debug19 immer noch ein Problem haben, versuchen Sie ruby-debug-base19 zu aktualisieren. Ich hatte Fehler und konnte WEBrick nicht im Debug-Modus laufen lassen, bis ich das getan habe.

gem update ruby-debug-base19

Oh, und vielen Dank, Herr Moseley, für all Ihre harte Arbeit!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X