2013-04-24 67 views
1

我对Rails项目上的“如何获得rubymine调试工作”这个备受关注的问题感到不解。在RubyMine中选择“Run/Debug'myproject'”,弹出一个标题为“连接到调试器”的对话框,该对话框在10秒后(超时)失败。但是,在调试控制台中,只要调用运行/调试,就会有一条信息消息从“(i)断开连接”变为“(i)已连接”。超时后,这将变回“(i)断开连接”实际发生的连接,但RubyMine不知道?RubyMine 5.4调试器超时,但调试控制台显示已连接

编辑:我应该注意到我能够连接到一个在RubyMine之外手动启动的调试服务器(rdebug-ide),并且我的计算机系统(Mac OS X)有一个名称,并且没有显示错误控制台....当它自动启动调试服务器本身时,RubyMine不会连接。

+0

你用什么ruby和[debug gem versions](http://stackoverflow.com/a/10325110/104891)?你的操作系统是什么?在Mac上,如果您配置机器名称可能会有所帮助。 – CrazyCoder 2013-04-24 10:01:30

+0

请参阅我的编辑。这不是一个宝石问题,因为我可以从RM连接到运行rails服务器的外部启动的rdebug-ide,并且调试工作正常。而我的电脑有一个名字。 – Bogatyr 2013-04-24 12:21:41

+0

如果您重新安装RubyMine,它有帮助吗?这可能是一些防火墙问题或网络问题。看看它是否有帮助,如果你从终端启动RubyMine:'open -a/Applications/RubyMine.app /'。 – CrazyCoder 2013-04-24 13:03:37

回答

6

解决!我的主机名被莫名地设置为“localhost”。我在命令行上将其更改为

sudo hostname new-name 

现在RubyMine调试器立即连接并启动。 Google表示主机名返回“localhost”是一种常见的Mac OS X条件。我想建议JetBrains团队对此进行检查,并向用户发出警告通知,以避免将来在Mac OS X上出现此类问题。或者只是重写内部调试器连接代码,以免受到这种情况的影响。感谢CrazyCoder的建议。

+0

见http://youtrack.jetbrains.com/issue/RUBY-8990。 – CrazyCoder 2013-04-28 12:15:33

+0

@CrazyCoder我之前已经读过(或类似的线程),并且已经确认系统偏好设置/共享/计算名称非空,但问题仍然存在。在shell中运行'hostname'没有返回我在首选项/共享/名称上配置的名称!它返回'localhost'。只有运行'sudo hostname new-name',RubyMine调试才能开始工作。 – Bogatyr 2013-04-28 13:33:09

+0

@CrazyCoder它是完全可重复的:'sudo hostname localhost':调试器无法连接。'sudo hostname new-name',调试器连接正常。您可以将其传递给OS X开发人员进行进一步分析。我很想听听你的发现。 – Bogatyr 2013-04-28 13:35:37