如何让ruby-debug-ide工作?

我无法让我的ruby-debug-ide正常工作。 我有一个基本的rails应用程序,我想在RubyMine中调试。 在我开始使用RubyMine之前,我需要在我的vagrant VM中启用rdebug-ide。 当我导航到我的项目目录时,我已在线阅读我需要输入以下命令:

rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 - bin/rails s -b 0.0.0.0 

但是,当我运行此命令时,我收到此消息: 在此处输入图像描述

我也试过上面命令的修改版本:(额外的破折号)

 rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 -- bin/rails s -b 0.0.0.0 

我得到了这个结果: 在此处输入图像描述 这看起来很好,但随后服务器永远不会启动。 它从不显示服务器信息,它只是坐在这里并挂起,直到我CTRL + C退出服务器。 我无法让rdebug-ide与rails配合使用。 有谁知道我怎么解决这个问题?

我有RubyMine远程调试工作:-)

在开始之前,请确保已安装debase和rdebug-ide:

 gem list | grep debase gem list | grep ruby-debug-ide sudo gem install debase sudo gem install ruby-debug-ide 

1.启动Rails服务器

首先,您需要启动Rails服务器:

 hello_rails$ rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails server Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.2.beta10, file filtering is supported) listens on 0.0.0.0:1234 

供您参考,我的Ruby,Rails和Ubuntu版本是:

 $ ruby -v ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux-gnu] $ rails -v Rails 5.1.4 $ lsb_release -a Description: Ubuntu 16.04.3 LTS Codename: xenial 

正如您所注意到的,服务器似乎永远不会启动 它只是挂在那里。 这实际上是正确的。 例如,它挂在那里,等待连接,来自RubyMine。

2.从RubyMine远程调试

现在启动RubyMine(我正在使用RubyMine 2017.2.4),运行 – >调试… – >编辑配置……

单击加号’+’添加新配置,然后选择Ruby远程调试。

在此处输入图像描述

填写表单并单击“调试”按钮。 服务器立即不再挂起,Rails服务器启动:

 hello_rails$ rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails server Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.2.beta10, file filtering is supported) listens on 0.0.0.0:1234 WARN: Unresolved specs during Gem::Specification.reset: rake (>= 0.8.1) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. => Booting Puma => Rails 5.1.4 application starting in development => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.10.0 (ruby 2.4.2-p198), codename: Russell's Teapot * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 

最后,您可以在RubyMine中设置断点,并启动远程调试:-)

我相信您应该将命令添加到RubyMine内部的Ruby远程调试配置中。

Run > Edit Configurations > Add Ruby remote debug配置。