如何将Rubymine IDE调试器附加到Shell进程?
-
29-10-2019 - |
题
我想使用Rubymine的IDE调试器来调试在命令外壳中运行的ruby进程,例如它所产生的。通过“ rails console”。
当运行Web服务器(从Rubymine内)或测试套件(也从Rubymine内运行)时,我在调试器方面投入了很多精力。
但是,如果该进程不是由Rubymine启动的,那么我就迷茫了如何附加调试器。
我在具有Sun Java 1.6.0_26,Ruby REE 1.8.7和最新调试工具的Ubuntu上使用Rubymine 3.2.4版本: 通用标签
有想法吗?
解决方案
其他提示
这是您在Rails中执行的操作:
首先,请确保您已经安装了rdebug-ide
:
通用标签
下一步,在控制台中运行它: 通用标签
或适用于Rails 4.0 + 通用标签
或者,如@ChristopherWill所述在下面,如果您要调试非本地服务器,则可以传递--host
参数。 (请阅读下面的评论以获取警告)
这将等待远程调试客户端连接。
-
在RubyMine中单击“运行”>“编辑配置”,然后添加“ Ruby远程调试”实例
-
使用与6778以上相同的端口(如果更改上述端口,请确保端口匹配)
-
根文件夹和本地根文件夹相同,/ projects / your_rails_project
-
单击“应用”并关闭。
接下来,从运行和调试按钮旁边的列表中选择此配置,然后单击调试按钮。给它几秒钟,控制台将在您运行过“ rdebug-ide”的地方运行“ rails console”
我真的很想在这里发布一些很难在其中找到完整答案的东西,这花了我很长时间才能弄清楚。有人问如何将远程调试附加到resque worker,这是最终对我有效的正确方法。本文是google搜索的热门文章,很容易找到。
服务器上的FROM SHELL(对我来说,它是我的笔记本电脑)从您的站点根目录执行此操作: rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 bin / rake resque:work QUEUE= * 在RubyMine IDE中,
使用以下命令配置远程调试: 远程主机:127.0.0.1 远程端口:1236 远程根文件夹:服务器上站点根的路径 本地端口:26166 本地根路径:工作站上您要在其中设置断点的根文件的路径(在我的情况下,它是全部本地路径,因此是其所有1个路径和1个文件副本)
使用以下命令正常运行Web服务器:rails
在Resque worker中设置一个断点,并尝试执行您站点中需要执行的任何操作以使您到达该断点。
1个便笺-拥有“春季”宝石会给我带来错误,因此我必须将其注释/打包。