Wol*_*old 10 ruby debugging irb rubymine rails-console
我想使用Rubymine的IDE调试器来调试在命令shell中运行的ruby进程,因为它是由"rails console"生成的.
在运行Web服务器(从Rubymine中)或测试套件(也在Rubymine中运行)时,我已经从调试器中获得了很大的利润.
但是,如果Rubymine没有启动该过程,我将无法连接调试器.
我在Ubuntu上使用的版本Rubymine 3.2.4与Sun Java 1.6.0_26,Ruby REE 1.8.7以及最新的调试宝石:
ruby-debug-base (0.10.4)
ruby-debug-ide (0.4.17.beta8)
Run Code Online (Sandbox Code Playgroud)
思考?
这是你在Rails中的做法:
首先,确保您已rdebug-ide安装:
gem install ruby-debug-ide --platform=ruby
Run Code Online (Sandbox Code Playgroud)
接下来,在控制台中运行:
rdebug-ide --port 6778 -- /projects/your_rails_project/script/rails console
Run Code Online (Sandbox Code Playgroud)
或者用于rails 4.0+
rdebug-ide --port 6778 -- /projects/your_rails_project/bin/rails console
Run Code Online (Sandbox Code Playgroud)
或者,正如@ChristopherWill在下面提到的,--host如果您希望调试非本地服务器,则可以传递参数.(请阅读下面的评论以获取警告)
这将等待远程调试客户端连接.
单击RubyMine中的Run> Edit Configurations,然后添加一个"Ruby Remote Debug"实例
使用与上面相同的端口6778(如果更改上面的端口,请确保端口匹配)
根文件夹和本地根文件夹是相同的,/ projects/your_rails_project
单击"应用"并关闭.
接下来,从运行和调试按钮旁边的列表中选择此配置,然后单击调试按钮.给它几秒钟,控制台将运行"rails console",你在哪里运行"rdebug-ide"
在RubyMine中使用Ruby Remote Debug配置类型.有关详细信息,请参阅官方RubyMine文档.
基本上你运行脚本如:
rdebug-ide --port <port number> -- script.rb
Run Code Online (Sandbox Code Playgroud)
然后从RubyMine调试器连接到指定的端口.
| 归档时间: |
|
| 查看次数: |
6919 次 |
| 最近记录: |