rails logger log debug ruby-on-rails ruby ruby-debug

ruby-on-rails - debug - logger ruby on rails



Rails con ruby-depurador throw ''Símbolo no encontrado:_ruby_current_thread(LoadError)'' (7)

Tengo Ruby-head estándar y Rails 3.1rc4. Instalé ruby-debug con las siguientes instrucciones de http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/

Pero cuando ejecuto rails s --debugger arrojará este extraño error

/Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require'': dlopen(/Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle, 9): Symbol not found: _ruby_current_thread (LoadError) Referenced from: /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle Expected in: flat namespace in /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle - /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `block in require'' from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:223:in `block in load_dependency''

¿Alguna idea? Gracias, David


Si está ejecutando Ruby 1.9.3x, para solucionarlo, vaya a ruby-debug en rubyforge , descargue e instale ruby-debug-base 0.11.26 y linecache19 0.5.13. Modifique su Gemfile para usar estos archivos, luego ejecútelo

bundle update ruby-debug-base19

Debugger debería funcionar ahora.

Gracias Jerome


Parece que este es un error conocido en ruby-debug-base, por el momento. He agregado mi comentario al problema en el rastreador de errores. Plase considera agregar tus notas también:

http://rubyforge.org/tracker/index.php?func=detail&aid=29222&group_id=8883&atid=34290

Mientras tanto, ruby ​​1.9 tiene un depurador incorporado; es solo muy lento Agregue manualmente esta línea requerida a su código:

require ''debug''

Además, el depurador se rompe en todas las excepciones StandardError por defecto, así que hazlo cuando se inicie por primera vez:

catch off


Esto se arregló actualizando a las últimas gemas de todas las depuraciones


Usé el ''depurador'' de gem que es un fork de ruby-debug (19) que funciona en 1.9.2 y 1.9.3 y se instala fácilmente para rvm / rbenv rubies. ¡Hace que el error desaparezca!


Usando ruby ​​1.9.3, pude hacer que esto funcionara al agregar la gema ''ruby-debug-base19x'' (tenga en cuenta la ''x'' al final del nombre) además de ''ruby-debug19''.


ACTUALIZAR:

Parece que solo necesitas poner esto en tu gemfile:

gema "depurador"

y ahora funciona.

El viejo artículo sigue

=================================

Jerome tiene razón, pero le faltan detalles. Aquí está el golpe por golpe, tomado de este https://gist.github.com/1331533 , en particular gracias a la publicación de andrewroth. Lo he probado a partir del momento de esta publicación. Se espera que los cambios se implementen en algún lugar pronto.

Installing ruby debugger on ruby 1.9.3-p125: export PATCH_LEVEL=`ruby -e ''puts RUBY_PATCHLEVEL''` export RVM_SRC=$HOME/.rvm/rubies/ruby-1.9.3-p$PATCH_LEVEL/include/ruby-1.9.1 gem install archive-tar-minitar gem install ruby_core_source -- --with-ruby-include=/$RVM_SRC export RVM_SRC=$HOME/.rvm/rubies/ruby-1.9.3-p$PATCH_LEVEL/include/ruby-1.9.1/ruby-1.9.3-p$PATCH_LEVEL wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem wget http://rubyforge.org/frs/download.php/63094/ruby-debug19-0.11.6.gem wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem gem install linecache19-0.5.13.gem -- --with-ruby-include=/$RVM_SRC # if that step failed, and you are running OSX Lion, then following this post can help you: # http://.com/questions/8032824/cant-install-ruby-under-lion-with-rvm-gcc-issues # this happens if you recently installed xcode from the app store. # bizarrely, for me I had to do this: ln -s /usr/bin/gcc /usr/bin/gcc-4.2 gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/$RVM_SRC Then edit Gemfile: gem ''linecache19'', ''0.5.13'', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/linecache19-0.5.13/" gem ''ruby-debug-base19'', ''0.11.26'', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/ruby-debug-base19-0.11.26/" gem ''ruby-debug19'', :require => ''ruby-debug'' Then install: bundle install


Mi sistema es rvm 1.18.10 y ruby ​​1.9.3p392 en Mac OSX 10.8.5. Primero instalé gem ''ruby-debug19'', pero por el bien conocido motivo, el depurador no funcionó.

Entonces corrí

local$ gem install ''debugger''

como lo sugieren muchos otros mensajes. La gema se instaló con éxito con los siguientes resultados:

local$ gem install debugger Fetching: debugger-ruby_core_source-1.2.3.gem (100%) Fetching: debugger-linecache-1.2.0.gem (100%) Fetching: debugger-1.6.2.gem (100%) Building native extensions. This could take a while... Successfully installed debugger-ruby_core_source-1.2.3 Successfully installed debugger-linecache-1.2.0 Successfully installed debugger-1.6.2 3 gems installed Installing ri documentation for debugger-ruby_core_source-1.2.3... Installing ri documentation for debugger-linecache-1.2.0... Installing ri documentation for debugger-1.6.2... Installing RDoc documentation for debugger-ruby_core_source-1.2.3... Installing RDoc documentation for debugger-linecache-1.2.0... Installing RDoc documentation for debugger-1.6.2... local$ irb 1.9.3-p392 :002 > require ''debugger'' => true

Entonces corrí

local$ rails server --debug /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251: in`require'': dlopen(/usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle, 9): Symbol not found: _ruby_current_thread (LoadError) Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle Expected in: flat namespace in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle - /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle ......

Resolví este error comentando la línea "gem ''ruby-debug19''" y agregando una nueva línea "gem ''depurador''" en el Gemfile, y luego ejecuté

local$ bundle update

Después de eso, todo funcionó bien.

local$ rails server --debug => Booting WEBrick => Rails 3.2.14 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server => Debugger enabled [2013-10-15 12:50:21] INFO WEBrick 1.3.1 [2013-10-15 12:50:21] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin10.8.0] [2013-10-15 12:50:21] INFO WEBrick::HTTPServer#start: pid=7206 port=3000