2012-02-25 11 views
9

Possible Duplicate:
ruby-debug with Ruby 1.9.3?Rails 3.1 e Ruby 1.9.3p125: rubino debug19 blocca ancora con "simbolo non trovato: _ruby_threadptr_data_type"

Avevo sentito voci che Ruby 1.9.3p125 ha una soluzione per il problema rubino debug19, così per istruzioni sul sito RVM, ho reinstallato 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] 

Poi:

gem install ruby-debug19 

Aggiunto questa voce al mio Gemfile:

01.235.164,106 mila
gem 'ruby-debug19' 

Poi:

$ 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 

Per superare questo errore ho cambiato il mio ingresso Gemfile a:

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

Ora un nuovo errore dal server:

/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 Sono molto confuso dalle centinaia di post là fuori su come gestire questo rubino-d problema di ebug19. Speravo che fosse stato risolto. Apparentemente no. Eventuali suggerimenti? (Se qualcuno suggerisce una patch, ti preghiamo di fornire le istruzioni passo passo su come applicarla.)

risposta

36

A fork of ruby-debug just called 'debugger' ora esiste che incorpora molte delle correzioni persone erano state distribuiscono sulla parte superiore del rubino debug19, così si dovrebbe essere in grado di cambiare solo la tua Gemfile per

gem 'debugger' 

... e il gioco è partire.

+1

Grazie mille per questo, il porting di alcuni modelli da rotaie e io sono * non * un ragazzo di rotaie .. – mkocubinski

+0

Ho ottenuto: 'Eccezione non rilevata: mancata corrispondenza della superclasse per classe RemoteInterface' –

+0

Funziona! Grazie. Nota ai lettori che è necessario rimuovere la vecchia gemma affinché funzioni. –

3

Per farla breve: non è stato risolto e la risoluzione ufficiale verrà solo nuova versione di ruby-debug19 o ruby-debug-base19. È piuttosto aggravante, lo so.

Ho fatto anche molte ricerche su questo, e ho tenuto d'occhio le cose a partire dal 1.9.3 (perché avremmo amato-amore-amore per usarlo in produzione). Tuttavia, purtroppo, 1.9.3-p125 non ha una correzione per Ruby-Debug. Solo ruby-debug19 avrà la correzione per ruby-debug19, poiché gli autori di ruby-debug19 e ruby-debug-base19 hanno lavorato su una patch e hanno una build di test aggiornata su Ruby 1.9.3 ... ma sono haven't released it to the general public. ruby-debug-base19 hasn't seen a release in eoni; ruby-debug19 ancora più a lungo (dal '09).

Se siete su rvm head, si dovrebbe essere in grado di installare 1.9.3-P125 con l'aggiunta "patch falco" found here (e notato su RVM here. This gist sembra avere istruzioni migliori (si tratta di una forchetta più recente del più vecchio).

+0

ho provato il cerotto falco con RVM - ancora ottenere un errore di simbolo: simbolo non trovato: _ruby_current_thread (LoadError) :-( –

3

la cosa migliore da fare è semplicemente usare pry. la sua un sostituto IRB-like per ruby-debug e funziona con tutte le versioni di Ruby senza brutta patch!

https://github.com/pry/pry

+0

So Fare leva è buono per vedere lo stato del programma, ma ti permette di seguire lo stack trace e il percorso del codice? Ho esaminato i documenti ma non sono riuscito a trovare più nulla su di esso. ** EDIT **: trovato [pry-debug] (https : //github.com/Mon-Ouie/pry_debug) - Devo dare un colpo –

+0

Scratch that; non era quello che stavo cercando per quanto riguarda la leva, invece, [pry-nav] (http: //github.com/nixme/pry-nav) sembra il biglietto: la leva –

+0

è davvero un ottimo strumento. L'ho usata come uno stop-gap, ma ho davvero bisogno di "step", "next" e " continua "funzionalità. Benjamin - pry-na v sembra molto, molto nuovo. Ho provato a usarlo quando è stato pubblicato, ma non ho potuto farlo funzionare in modo coerente. Funziona per te? –

0

È necessario passare il --with-ruby-include e puntarlo nella directory src affinché funzioni.

(la maggior parte di queste risposte altrove su SO sono andati stantio dal 1.9.3-P125.)

che ho scritto nuove istruzioni qui per Ubuntu 11.10 che lavorano sulla mia macchina, ma dare loro una prova su Darwin e vedi se aiutano?: https://gist.github.com/2218661

0

Ho avuto problemi simili usando Rails 3.2 con il debug di Ruby 1.9.3p0 in Aptana.
Per me, il nuovo ruby-debug-base193 non viene compilato. Ma ciò che funziona bene è una correzione che è stato scritto altrove:

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

E poi fornire l'is_binary_data mancante ? metodo da qualche parte. L'ho messo nel mio Rails application.rb file in questo modo:

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