Ich habe einige Probleme beim Debuggen, indem ich an der Version 1.9.3 preview1 von ruby arbeite.
Ich habe die 1.9.3 mit rvm mit dem folgenden Befehl installiert:
%Vor%Und installiert ruby-debug19 mit diesem:
%Vor% Das Debug-Juwel wird zwar installiert, aber wenn ich eine Konsole mit Debugging öffne oder alles mit einem Debug-Flag rails c --debug
oder rspec spec --debug
versuche. Ich erhalte den folgenden Fehler:
Hier ist eine alternative Lösung, die ich in einem Gist gefunden habe von rafaeldx7 .
Im Grunde genommen besteht die Lösung darin, neuere Versionen einiger Bibliotheken zu verwenden, linecache19 v0.5.13 & amp; ruby-debug-base19 v0.11.26, von denen sich noch keiner im RubyGem Repo befindet.
%Vor%EDIT: Die Git-Pinning-Lösung funktionierte zuerst, aber ich konnte sie nicht konsistent verwenden. Ich werde es hier belassen, weil die Leute es upvolotiert haben, aber ich denke, dass meine Ruby-Debug-CLI zufällig funktioniert, da sie unkonventionell verpackt ist.
Ich würde stattdessen hacken empfehlen; es scheint Ruby-Debug und mehr zu sein. Ich habe auch require 'debug'
für eine Weile verwendet, oben erwähnt (und möglicherweise, was Leute upvoting waren) und der Umfang, in dem es dich fallen lässt, ist normalerweise nicht, was du erwartest. Verwenden Sie erneut pry (und beachten Sie, dass Sie, wenn Sie Debugger-ähnliches Stepping benötigen, auch dieses Pry-Plug-in benötigen, das ich habe 't noch benötigt / getestet).
Säge Rails mit Ruby-Debugger werfen 'Symbol nicht gefunden: _ruby_current_thread (LoadError)' (Zusammenfassung: Sie können den eingebauten Debugger von 1.9s für jetzt verwenden), nachdem ich Folgendes herausgefunden habe:
Da ich bemerke, dass Sie versuchen, es mit Rails zu verwenden, falls Sie Bündler verwenden, können Sie dies zu Ihrer gemfile hinzufügen:
%Vor%dann ausführen:
%Vor%Hier ist, was ich getan habe, um Dinge mit Bundler 1.x und Ruby 1.9.3-p0 (die freigegebene, stabile Version) zu arbeiten. Hoffentlich wird das bald obsolet, aber in der Zwischenzeit ist es ein praktikabler Workaround, wenn Sie das brauchen.
Installiere zuerst die Linecache- und Ruby-Debug-Base-Edelsteine als System-Edelsteine. Beachten Sie, dass ich diese von verschiedenen Orten bekam.
%Vor%Erstellen Sie als Nächstes die Edelsteinquelle für jedes installierte Juwel:
%Vor% Sie können jetzt auf diese Verzeichnisse in Ihrer Gemdatei mit der Anweisung :path
verweisen. Wenn Sie ein lokales Git-Repository haben, können Sie diese Verzeichnisse dort committen und auf sie in Ihrer Gemdatei verweisen, etwa so:
Die meisten dieser Antworten sind seit 1.9.3-p125 veraltet.
Ich habe neue Anweisungen für ubuntu 11.10 geschrieben: Ссылка