IntelliJ IDEA 12不会在rails / ruby​​中的断点处停止

时间:2013-06-26 19:18:43

标签: ruby debugging intellij-idea

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

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

debug [本地调试]正在成功启动,我在控制台中有这个:

/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 个答案:

答案 0 :(得分:2)

问题是由于在项目结构中使用了符号链接 [另请参阅此Symlinks confuse debugger,了解Rubymine中调试器中发生的相关问题]

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

答案 1 :(得分:-3)

我不确定您使用的调试器,但我已经为您找到了解决方案。尝试使用pry。 将其添加到Gemfile中,然后将binding.pry放在要创建断点的位置。