ruby调试ide命令在我面前解释



因此,我正在对一个旧应用程序进行一些甜蜜的远程调试操作,并通过https://github.com/ruby-debug/ruby-debug-ide让我的鲁比米恩走。在我的Gemfile中安装这两个gem。。。

gem 'ruby-debug-base19x', '~> 0.11.32'
gem 'ruby-debug-ide'

宝石安装精细

但是当我加载rdebug命令时,我得到了这个错误。。。

$ rdebug
/home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require': /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_current_thread - /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so (LoadError)
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug19-0.11.6/bin/rdebug:108:in `require_relative'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug19-0.11.6/bin/rdebug:108:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/bin/rdebug:23:in `load'
from /home/fonso/.rbenv/versions/1.9.3-p551/bin/rdebug:23:in `<main>'

即使是完整的rdebug ide命令也会在我的脸上爆炸

$ rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- rails s
/home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require': /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_current_thread - /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so (LoadError)
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:6:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.7.2/bin/rdebug-ide:8:in `require_relative'
from /home/fonso/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.7.2/bin/rdebug-ide:8:in `<top (required)>'
from /home/fonso/.rbenv/versions/1.9.3-p551/bin/rdebug-ide:23:in `load'
from /home/fonso/.rbenv/versions/1.9.3-p551/bin/rdebug-ide:23:in `<main>'

关于如何解开这个谜有什么想法吗?

好的,所以使用gem列表并通过grep调试,我发现我的盒子中有一些奇怪的gem

$ gem list | grep debug
debug_inspector (0.0.3)
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.3.8)
ruby-debug-base19 (0.11.25)
ruby-debug-base19x (0.11.32)
ruby-debug-ide (0.7.2)
ruby-debug19 (0.11.6)

注意到两个基于ruby-debug的19东西了吗?是的,我怀疑这可能是一个问题,还有其他一些问题。所以做一些宝石卸载我最终。。。

$ gem list | grep debug
debug_inspector (0.0.3)
debugger-ruby_core_source (1.3.8)
ruby-debug-base19x (0.11.32)
ruby-debug-ide (0.7.2)

现在,当我为rubymine运行调试命令时,它可以工作

rdebug ide--主机0.0.0.0--端口1234--调度程序端口26162--轨道s

快速调试器(ruby debug ide 0.7.2,ruby-debug base19x 0.11.32,不支持文件过滤(在0.0.0.0:1234 上侦听

呜呜!

最新更新