微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-debug-ide 命令显示在我的脸上

如何解决ruby-debug-ide 命令显示在我的脸上

所以我正在努力对旧应用程序进行一些甜蜜的远程调试操作,并通过 https://github.com/ruby-debug/ruby-debug-ide 找到了一些说明来启动我的 ruby​​mine。在我的 Gemfile 中安装这两个 gem...

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

gems 安装正常

但是当我加载 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 list 并通过 grep debug 我发现我的盒子里有一些奇怪的 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-base19 的东西了吗?是的,我怀疑这可能与其他一些人一样有问题。所以做一些 gem 卸载我最终...

$ 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)

现在,当我为 ruby​​mine 运行调试命令时,它可以工作了

rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- rails s

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

呜呼!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。