在RubyMine下实现Rails远程调试

来源:互联网 发布:淘宝怎么防举报防排查 编辑:程序博客网 时间:2024/05/16 18:40


在RubyMine下实现Rails远程调试

安装debase

在项目根目录下运行

gem install debase

安装debug

在项目根目录下运行

gem install ruby-debug-ide

关闭防火墙

如果发现链接有问题再执行这部

chkconfig iptables off

启动应用

脚本格式:rdebug-ide --debug --host {ip} --port {port}-- {script/serever}

如下脚本格式:

rdebug-ide --debug --host 10.20.96.234 --port 9090 -- rails s -p 10601

{ip} 为服务的IP 如果不指定就会开启为本地IP,这样不能远程访问。这个IP也可以指定为0.0.0.0使下面的端口为共享端口

{port} 为开启的debug端口

{script/serever} 为运行业务的脚本

说明: rails不能用 -d命令作为deamon启动

在应用的bin目录下执行如上脚本(在启动前确保应用已经停止)

执行上面的命令输出

Fast Debugger (ruby-debug-ide 0.4.22, debase 0.0.9) listens on 10.20.96.234:9090

表示已经启动

这个时候表示debug程序已经就绪啦,等待IDE端来进行连接触发ruby脚本的运行。这里说明一下,rdebug-ide启动后,并不会马上运行脚 本,这个和JavaRemote Debug不一样。只有IDE端连接到调试端口才会触发脚本运行,这个很好理解,如你的一个脚本,打印一些信息,如果rdebug-ide启动后就允许脚 本,那么就马上退出啦,谈不上调试,所以等待IDE连接后才执行脚本是正确的。所以rdebug-ide运行后,你此刻还不能通过浏览器访问该应用。

配置rubymine

1、选择:run-edit configurations

2、创建一个远程debug


3、配置远程连接


配置说明: Name:远程连接的名字

           Remote host rails服务的IP

           Remote port : rails服务开放的debug端口

           Remote root folder: 远端的rails服务的工程应用的根目录

         Local port:本地端口

           Local root folder: 本地开发工程的根目录

4、点击OK就保存

5、启动debug


6、检查是否配置好

如果服务端出现下面输出表示配置成功


下面就可以开始打断点调试了


0 0
原创粉丝点击