2013-06-26 41 views
8

我有IDEA 12,并且无法在Rails/Ruby中正确使用调试器[类似的问题是这一个Idea 11 breakpoints & ruby]。当我第一次在一个rails/ruby​​应用程序上按下DEBUG时,它正确地安装了ruby-debug-base19x和ruby-debug-ide。发出gem list | grep debug显示了这些宝石:IntelliJ IDEA 12不在rails/ruby​​中的断点处停止

debugger-ruby_core_source (1.2.2) 
ruby-debug-base19x (0.11.30.pre12) 
ruby-debug-ide (0.4.17.beta16) 

调试[本地调试]已成功开始,我有这个控制台:

/home/user/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/user/.rvm/gems/ruby-1.9.3-p194/gems/ruby-debug-ide-0.4.17.beta16/bin/rdebug-ide --port 55940 --dispatcher-port 37293 -- /home/user/work/IdeaProjects/rails/xtrade/script/rails server -b 0.0.0.0 -p 3000 -e development 
Fast Debugger (ruby-debug-ide 0.4.17.beta16, ruby-debug-base19x 0.11.30.pre12) listens on 127.0.0.1:55940 
=> Booting WEBrick 
=> Rails 3.2.11 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
[2013-06-26 20:53:32] INFO WEBrick 1.3.1 
[2013-06-26 20:53:32] INFO ruby 1.9.3 (2012-04-20) [x86_64-linux] 
[2013-06-26 20:53:32] INFO WEBrick::HTTPServer#start: pid=32688 port=3000 

的唯一的事情是,断点永远不会命中。我试图把控制器和视图中的断点,但没有任何改变。我尝试了很多次安装卸载宝石,但我从来没有设法让调试器在Rails/Ruby中工作。尝试远程调试也没有。

回答

2

的问题是由于在项目结构符号链接的使用[另见本Symlinks confuse debugger相关问题发生在RubyMine的调试器]

通过消除符号链接和使用完整路径的文件,它修复了调试器,现在Idea12在Ruby/Rails代码中正确停止。

+0

在RubyMine 8.0.3中发生了同样的问题,幸运的是您的解决方案工作。 –

-3

我不确定你正在使用的调试器,但我已经为你提供了一个解决方案。尝试使用pry。 将它添加到您的Gemfile中,然后将binding.pry放入您想要制作断点的位置。