2012-02-25 19 views
9

Possible Duplicate:
ruby-debug with Ruby 1.9.3?Rails 3.1 i Ruby 1.9.3p125: rubin-debug19 ciągle wywala z "Symbol nie znaleziono: _ruby_threadptr_data_type"

Słyszałem pogłoski, że Ruby 1.9.3p125 ma rozwiązanie problemu ruby-debug19, więc za instrukcje na stronie RVM, ja ponownie zainstalować 1.9.3:

$ rvm reinstall 1.9.3 --patch debug --force-autoconf 
$ ruby -v 
    ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.2.0] 

wówczas:

gem install ruby-debug19 

dodanych w tym wejście do mojego Gemfile:

gem 'ruby-debug19' 

Następnie:

$ rails server -u   
=> Booting WEBrick 
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug' 
Exiting 

Aby ominąć ten błąd zmieniłem wpis Gemfile do:

gem 'ruby-debug19', :require => 'ruby-debug' 

teraz nowy błędu z serwera:

/Users/don/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require': dlopen(/Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle, 9): Symbol not found: _ruby_threadptr_data_type (LoadError) 
    Referenced from: /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle 
    Expected in: flat namespace 
in /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle - /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle 

I Jestem bardzo zdezorientowany przez setki postów, jak radzić sobie z tym rubinkiem ebug19 problem. Miałem nadzieję, że zostało to rozwiązane. Najwyraźniej nie. Jakieś sugestie? (Jeśli ktoś sugeruje łatkę, podaj instrukcje krok po kroku, jak ją zastosować.) W przeszłości zmagałem się z łatami.)

Odpowiedz

36

A fork of ruby-debug just called 'debugger' teraz istnieje, który zawiera wiele poprawek osób zostało wdrażających na szczycie ruby-debug19, więc powinieneś być w stanie po prostu zmienić Gemfile do

gem 'debugger' 

... i już można udać się.

+1

Dziękuję bardzo za to, przenoszenie niektórych szablonów z szyn i jestem * nie * facetem szyn .. – mkocubinski

+0

Mam: 'Niezatapiony wyjątek: niedopasowanie nadklasy dla klasy RemoteInterface' –

+0

Działa! Dziękuję Ci. Uwaga dla czytelników, że stary klejnot musi zostać usunięty, aby zadziałało. –

3

Krótko mówiąc: nie jest rozwiązany, a oficjalne rozwiązanie przyjdzie tylko nowa wersja ruby-debug19 lub ruby-debug-base19. Wiem, że to dość drażniące.

Zrobiłem dużo kopania na ten temat, i mam oko na rzeczy, ponieważ 1.9.3 wyszedł (bo chcielibyśmy-love-love, aby użyć go w produkcji). Niestety, 1.9.3-p125 nie ma poprawki do debugowania ruby. Tylko ruby-debug19 będzie miał poprawkę dla ruby-debug19, ponieważ autorzy ruby-debug19 i ruby-debug-base19 pracują nad łatą i mają zaktualizowaną wersję testową działającą na Ruby 1.9.3 ... ale mają one haven't released it to the general public. ruby-debug-base19 hasn't seen a release w eons; ruby-debug19 jeszcze dłużej (od '09).

Jeśli jesteś na rvm head, powinieneś być w stanie zainstalować 1.9.3-P125 z dodanym „plaster falcon” found here (i zauważył o RVM here. This gist wydaje się mieć lepsze instrukcje (jest to nowszy widelec od starszego).

+0

Próbowałem patch sokoła użyciu RVM - nadal pojawia się błąd symbol: symbol nie znaleziono: _ruby_current_thread (LoadError) :-( –

3

najlepszą rzeczą do zrobienia jest po prostu użyć pry. Jego IRB-jak zastępstwo dla ruby-debug i działa ze wszystkimi wersji Ruby bez bolesnego łatanie!

https://github.com/pry/pry

+0

wiem Pry jest dobry do przeglądania stanu programu, ale czy pozwala ci śledzić ślad stosu i ścieżkę kodu? Przejrzałem dokumentację, ale nie mogłem znaleźć na niej niczego. ** EDYTUJ **: znaleziono [pry-debug] (https : //github.com/Mon-Ouie/pry_debug) - Muszę to zrobić, –

+0

Zarysuj to, to nie było to, czego szukałem w odniesieniu do podważenia. Zamiast tego [pry-nav] (http: //github.com/nixme/pry-nav) wygląda jak bilet: –

+0

pry jest naprawdę świetnym narzędziem, używam go jako luki, ale naprawdę potrzebuję "kroku", "następnego" i " kontynuować "funkcjonalność." Benjamin - pry-na v wygląda bardzo, bardzo nowy. Próbowałem go używać, gdy został po raz pierwszy opublikowany, ale nie udało się go konsekwentnie działać. Czy to działa dla ciebie? –

0

Musisz przekazać --with-ruby-include i wskazać go w katalogu src, aby to działało.

(większość z tych odpowiedzi gdzie indziej na SO poszły czerstwy od 1.9.3-P125).

mam napisane nowe instrukcje tutaj Ubuntu 11.10, które działają na moim komputerze, ale dać im szansę na darwin i zobacz, czy oni pomagają?: https://gist.github.com/2218661

0

Mam podobne problemy przy użyciu Rails 3.2 z debugowaniem Ruby 1.9.3p0 w Aptana.
Dla mnie nowy ruby-debug-base193 nie kompiluje się. Ale to, co działa dobrze, to dylemat, który został opublikowany w innym miejscu:

Gemfile:
gem 'ruby-debug-ide19'
gem 'ruby-debug-base19'

a następnie dostarczenie brakujących is_binary_data ? metoda gdzieś. I umieścić go w moich Rails environment.rb plik tak:

class String 
    def is_binary_data? 
    (self.count("^ -~", "^\r\n").fdiv(self.size) > 0.3 || self.index("\x00")) unless empty? 
    end 
end