niezła robota :) ale czy mógłbyś stworzyć fatgem (zawierający zarówno wersje 1.8 i 1.9 ruby-debug), żebyśmy nie musieli pamiętać o zrobieniu rubydebbug19? :)
horseyguy
4
Nie wydaje się sprawiedliwe, aby głosować w dół tylko dlatego, że upływ czasu sprawił, że teraz jest to zła odpowiedź. SO potrzebuje jakiegoś sposobu radzenia sobie z takimi przypadkami użycia, aby nowa poprawna odpowiedź znalazła się na pierwszej liście, bez karania autorów starszych odpowiedzi, które już nikomu nie są przydatne.
ikonoklast
167
ruby-debug19nie jest już utrzymywany. Wszystkie inne odpowiedzi są nieaktualne.
Po prostu działa. - I jest zawarty w szynach Gemfile od 3.2. Coś do wymiany ruby-debug19. Ma dokładnie taką samą funkcjonalność i jest aktywnie utrzymywany.
Działa ładnie. Znacznie lepsze niż ręczne instalowanie narzędzia Ruby-debug. Dzięki.
manu_v
5
To naprawdę musi zostać podniesione jako najlepsza odpowiedź.
Matt Zukowski
2
Tak, naprawdę ta odpowiedź musi być najlepszą odpowiedzią.
Nazar Hussain
A co powiesz na to, gdzie to się właściwie znajduje w Gemfile.
Rig
Nie ma znaczenia. Umieść go w dowolnym miejscu, ale nie w bloku grupy (nie w group :development do ... endlub tym podobnym), ponieważ zawiera już grupę.
Jeszcze tylko dodatek o rvm, ruby 1.9.1-p378. Prawda jest taka, że nawet jeśli Ruby-debug jest gotowy w wersji 1.9.x, to linecache-0.43 już nie. Rozwiązaniem jest zainstalowanie:
gem install ruby-debug19
To rozwiązuje problem za mnie.
OLD UPDATE
Jeśli masz problemy z Ruby 1.9.2 i debugowaniem Rails 3, wstaw:
Dzięki, według mnie to była bardziej odpowiednia odpowiedź. Ale może to dlatego, że odpowiedziałeś prawie rok później i sytuacja w tym względzie na dobre się zmieniła.
znak
3
Możesz spróbować kilku rzeczy
1) uruchom go z normalnym debugerem Rubiego -rdebug [1], trochę powolnym
2) uruchom go z unroller gem [trochę śmierdzi, dużo wolno]
3) szybko używaj wielu instrukcji drukowania, mniej introspekcji
4) upuść na znak zachęty irb i uruchom stamtąd jakiś kod.
możesz wyświetlić kod, tworząc własną podpowiedź „drop to irb”, która wyświetlałaby kod wokół siebie [użyj wywołującego, aby odkryć, gdzie jesteś], a następnie przejdź do normalnej zachęty irb.
5) może jruby w trybie kompatybilności 1.9 ma debugger?
Jeśli po zainstalowaniu ruby-debug19 nadal masz problem, spróbuj zaktualizować ruby-debug-base19. Miałem błędy i nie mogłem uruchomić WEBrick w trybie debugowania, dopóki tego nie zrobiłem.
gem update ruby-debug-base19
Aha, i dziękuję panu Moseley za całą twoją ciężką pracę!
Popraw mnie, jeśli się mylę, ale nie wierzę, że debugger działa jeszcze dla Ruby 1.9.1 (implementacja C). Przynajmniej nie udało mi się zmusić go do działania.
JP Richardson
0
Wersja Ruby 1.9.1-p243 jest już niedostępna, a kompatybilny plik ruby-debug-ide również działa poprawnie. Zainstaluj ruby-debug-ide za pomocą następującego polecenia:
gem install ruby-debug-ide
Spowoduje to zainstalowanie klejnotów ruby-debug-base19 i ruby-debug-ide. Ale zanim to nastąpi, upewnij się, że pomyślnie zainstalowałeś mingw, postępując zgodnie z dokumentacją Development kit dostępną w RubyForge .
Istnieje wiele możliwości wyboru, w zależności od Twoich potrzeb.
Używam ruchów podważających, ponieważ mogę „spojrzeć wstecz” na to, co wydarzyło się w poprzedniej komendzie, wykonując je ponownie w trybie debugowania bezpośrednio z miejsca.
wtedy możesz użyć: b script.rb: ## (gdzie ## to numer linii prawidłowego polecenia ruby), w przeciwnym razie być może będziesz w środku rubygemów lub jednego z wymaganych fragmentów kodu.
Następnie możesz po prostu ustawić następny punkt przerwania jako b: ##
ruby-debug19
jest teraz nieaktualny.Odpowiedzi:
Uwaga: ta odpowiedź była poprawna, ale teraz jest nieaktualna. Zobacz poniżej poprawną odpowiedź. TL; DR: użyj teraz „debuggera”.
Ruby-debug jest teraz dostępny w Ruby 1.9.x. Zobacz http://www.github.com/mark-moseley
Aby zainstalować (używając gem w instalacji 1.9 Ruby):
(być może z niezbędnym „sudo” przed nim).
źródło
ruby-debug19
nie jest już utrzymywany. Wszystkie inne odpowiedzi są nieaktualne.Ale jest alternatywa:
debugger
na pomoc!Umieść to w swoim
Gemfile
:gem 'debugger', group: [:development, :test]
Po prostu działa. - I jest zawarty w szynach Gemfile od 3.2. Coś do wymiany
ruby-debug19
. Ma dokładnie taką samą funkcjonalność i jest aktywnie utrzymywany.źródło
group :development do ... end
lub tym podobnym), ponieważ zawiera już grupę.AKTUALIZACJA DLA RUBY 2.0+ i NASTĘPUJĄCA
byebug to obecnie zalecany debugger dla Ruby 2.0+
Ten problem został udokumentowany tutaj , a cldwalker, autor debuggera, zauważa, że zakres debuggera będzie obejmował Ruby 1.9.2 i 1.9.3.
AKTUALIZACJA 2
Prawdą jest, że ruby-debug nie jest aktywnie obsługiwany, nawet jeśli nie mogę znaleźć niczego, co nie jest już obsługiwane.
Możesz użyć nowego klejnotu debuggera, jeśli potrzebujesz pomocy, aby zacząć od nowego klejnotu, który możesz zobaczyć, rzucając szyny Ryana Batesa .
W swoim Gemfile umieść:
gem 'debugger', group: [:development, :test]
Następnie możesz dodać punkt przerwania w dowolnym miejscu kodu za pomocą
debugger
słowa kluczowego.WCIĄŻ MOŻESZ UŻYWAĆ
linecache19 i ruby-debug-base19 z:
bash <<(curl -L https://raw.github.com/gist/1333785 )
STARE ODPOWIEDZI
Jeszcze tylko dodatek o rvm, ruby 1.9.1-p378. Prawda jest taka, że nawet jeśli Ruby-debug jest gotowy w wersji 1.9.x, to linecache-0.43 już nie. Rozwiązaniem jest zainstalowanie:
To rozwiązuje problem za mnie.
OLD UPDATE
Jeśli masz problemy z Ruby 1.9.2 i debugowaniem Rails 3, wstaw:
gem 'ruby-debug-base19', "0.11.24" gem 'ruby-debug19', "0.11.6"
W swoim Gemfile i robiąc plik
Sprawi, że znów będziesz szczęśliwym debugerem.
źródło
Możesz spróbować kilku rzeczy
1) uruchom go z normalnym debugerem Rubiego -rdebug [1], trochę powolnym
2) uruchom go z unroller gem [trochę śmierdzi, dużo wolno]
3) szybko używaj wielu instrukcji drukowania, mniej introspekcji
4) upuść na znak zachęty irb i uruchom stamtąd jakiś kod.
możesz wyświetlić kod, tworząc własną podpowiedź „drop to irb”, która wyświetlałaby kod wokół siebie [użyj wywołującego, aby odkryć, gdzie jesteś], a następnie przejdź do normalnej zachęty irb.
5) może jruby w trybie kompatybilności 1.9 ma debugger?
[1] http://beaver.net/rdebug/index-0.html
źródło
Jeśli po zainstalowaniu ruby-debug19 nadal masz problem, spróbuj zaktualizować ruby-debug-base19. Miałem błędy i nie mogłem uruchomić WEBrick w trybie debugowania, dopóki tego nie zrobiłem.
Aha, i dziękuję panu Moseley za całą twoją ciężką pracę!
źródło
Zobacz moją odpowiedź tutaj: Ruby-debug nie działa - przepełnienie stosu
Chodzi o to, aby debugowanie Rubiego działało z następującą konfiguracją
Używając rvm, w katalogu roboczym mojego projektu mam plik .rvmrc stwierdzający:
rvm use ruby-1.9.3-p0@mygemset
Mam nadzieję, że to pomoże!
- Freddy
źródło
Użyłem następujących i działa dla mnie świetnie:
gem „debugger”, grupa: [: programowanie,: test]
ruby 1.9.3p194 (2012-04-20 wersja 35410) [x86_64-linux] rails 3.2.8
źródło
Netbeans to dobre środowisko IDE dla RoR. Dobry debugger.
źródło
Wersja Ruby 1.9.1-p243 jest już niedostępna, a kompatybilny plik ruby-debug-ide również działa poprawnie. Zainstaluj ruby-debug-ide za pomocą następującego polecenia:
Spowoduje to zainstalowanie klejnotów ruby-debug-base19 i ruby-debug-ide. Ale zanim to nastąpi, upewnij się, że pomyślnie zainstalowałeś mingw, postępując zgodnie z dokumentacją Development kit dostępną w RubyForge .
źródło
Najnowsze funkcje są dostępne w ruby-debug-ide19 gem.
źródło
Istnieje wiele możliwości wyboru, w zależności od Twoich potrzeb.
Używam ruchów podważających, ponieważ mogę „spojrzeć wstecz” na to, co wydarzyło się w poprzedniej komendzie, wykonując je ponownie w trybie debugowania bezpośrednio z miejsca.
źródło
nikt nie używa: ruby -rdebug script.rb
wtedy możesz użyć: b script.rb: ## (gdzie ## to numer linii prawidłowego polecenia ruby), w przeciwnym razie być może będziesz w środku rubygemów lub jednego z wymaganych fragmentów kodu.
Następnie możesz po prostu ustawić następny punkt przerwania jako b: ##
źródło