2014-12-29 25 views
1

花了整整一天的時間試圖讓它工作。 按照自述文件中的描述安裝。在OS X的MacVim上運行vim-ruby-debugger 10.10

這個shell調用:

rdebug-vim --file /Users/aleksandrkunin/.vim/tmp/ruby_debugger --output /Users/aleksandrkunin/.vim/tmp/ruby_debugger_output --socket /var/folders/p9/dq06c2dn72nbbk45qdc5yx1h0000gp/T/vLSSici/17 --logger_file /Users/aleksandrkunin/.vim/tmp/ruby_debugger_log --debug_mode 0 --vim_executable mvim --vim_servername VIM --separator ++vim-ruby-debugger-separator++ -- '/Users/aleksandrkunin/Documents/rails_projects/tracks_dev/script/rails' server 

導致此錯誤:

Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/byebug/commands/frame.rb:12:in `alias_method': undefined method `get_pr_arguments' for module `Byebug::FrameFunctions' (NameError) 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/byebug/commands/frame.rb:12:in `<module:FrameFunctions>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/byebug/commands/frame.rb:2:in `<module:Byebug>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/byebug/commands/frame.rb:1:in `<top (required)>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/debugger_xml.rb:5:in `block in <top (required)>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/debugger_xml.rb:5:in `each' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/lib/debugger_xml.rb:5:in `<top (required)>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/debugger-xml-0.4.1/bin/rdebug-vim:15:in `<top (required)>' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/bin/rdebug-vim:23:in `load' 
    from /Users/aleksandrkunin/.rbenv/versions/2.1.2/bin/rdebug-vim:23:in `<main>' 

是否可以運行? VIM中有可視化調試的另一種方法嗎?

回答

0

我認爲問題在於你正在嘗試使用一個gem來說明Ruby> = 1.9和Ruby 2+。

rdebug不適用於Ruby 2.0+,只適用於1.9範圍內的Ruby。文檔很混亂,但事實就是這樣。

... This is a new version of the plugin, which uses debugger-xml gem, and works only with Ruby >= 1.9....

看看rdebug的修訂歷史,你可以看到它在一段時間內還沒有被更新。

隨着2.1.1你使用byebug,不實施必要的通話用Vim工作,因此消息:

undefined method `get_pr_arguments' for module `Byebug::FrameFunctions' (NameError) 

你的選擇是:

  • 恢復爲Ruby 1.9.3-p551,這是該系列的最新版本,並安裝了rdebug。
  • 停止嘗試使用vim-rdebug並學習在獨立模式下使用byebug,這是一個更傳統的調試器,並且運行良好。 (或者你可以使用Pry和pry-debug。)
+0

但是讓我更困惑的是:第一個是在debugger-xml中我見過'如果RUBY_VERSION> 2.0',第二個是模塊'Byebug :: FrameFunctions'這種方法 –

+0

你說得對。作者表示,它很快就會支持Ruby 2.0+,但現在它不支持 –

+0

您可以嘗試使用master的「debugger-xml」和「byebug」。支持應該準備好了,我們只需要一些寶石版本。在我們發佈之前,有人嘗試並提供反饋意見實際上是一件好事。 :) – deivid