Aptana Studio 3 中的远程调试 Rails 应用程序

发布于 2024-12-09 18:18:52 字数 984 浏览 1 评论 0原文

我的 Rails 开发 IDE 是 Aptana Studio 3.0.5,在 Windows 上运行。 这些应用程序在单独的 CentOS Linux 计算机上的 Apache + ModRails (Phusion Passenger) 上运行。我有 Rails 2.x 和 3.x 应用程序。

我希望能够使用 Aptana Studio 中的调试器(远程连接到正在运行的应用程序)。显然有一些规定,但我无法弄清楚我在服务器端需要什么(在我的Rails应用程序配置中)

我尝试过这个:

  1. 使用Rack::Debug:它只创建unix套接字,无法远程连接。

  2. 直接使用ruby-debug:

    我将其添加到我的 /config/environments/development.rb 中:

    if File.exists?(File.join(RAILS_ROOT,'tmp', 'debug.txt'))  
      require 'ruby-debug'  
      Debugger.wait_connection = true
      Debugger.start_remote("real.hostname", 5000, 5001)
      File.delete(File.join(RAILS_ROOT,'tmp', 'debug.txt'))
    end
  

debugger 语句在我的代码中添加停止执行,但我无法连接到此来自 Aptana 的实例,不是端口 5000,也不是端口 5001(我不明白为什么我需要两个端口)。

另外,即使有效,这种方法也会相当慢且过于复杂,我希望进行更“集成”的调试。有可能吗?

My Rails development IDE is Aptana Studio 3.0.5, running on Windows.
The applications runs on Apache + ModRails (Phusion Passenger) on a separate CentOS Linux machine. I have both Rails 2.x and 3.x applications.

I would like to be able to use the debugger in Aptana Studio (connect to the running application remotely). There are apparently some provisions for this, but I was unable to figure out what I need on the server side (in my Rails application configuration)

I've tried this:

  1. Using Rack::Debug: It creates only unix socket, cannot be connected remotely.

  2. Using ruby-debug directly:

    I added this to my /config/environments/development.rb:

    if File.exists?(File.join(RAILS_ROOT,'tmp', 'debug.txt'))  
      require 'ruby-debug'  
      Debugger.wait_connection = true
      Debugger.start_remote("real.hostname", 5000, 5001)
      File.delete(File.join(RAILS_ROOT,'tmp', 'debug.txt'))
    end
  

Sprinking my code with debugger statements stop the execution, but I cannot connect to this instance from Aptana, not to port 5000 and not port 5001 (and I don't understand why I need two ports there).

Also, this method would be rather slow and too convoluted even if it worked, I'd like to have a more "integrated" debugging. Is it possible at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

琉璃梦幻 2024-12-16 18:18:52

Netbeans 的旧步骤相对接近,因为 Aptana/RadRails 和 Netbeans 共享相同的调试器核心:http:// /blogs.oracle.com/martink/entry/remote_debugging_debug_whatever_ruby

基本上,使用以下命令运行 ruby​​ 应用程序rdebug-ide -p 7000 (或您想要的任何端口),然后在 IDE 中,转到“运行”>“调试配置。在左侧,选择“远程 Ruby 调试会话”,然后在其中添加新配置(列表上方的加号图标)。输入您在命令行中输入的正确主机 IP/名称和端口。

The old steps for Netbeans are relatively close since Aptana/RadRails and Netbeans share the same debugger core: http://blogs.oracle.com/martink/entry/remote_debugging_debug_whatever_ruby

Basically, run the ruby app using rdebug-ide -p 7000 (or whatever port you want), then inside the IDE, go to Run > Debug configurations. On the left hand side, select "Remote Ruby Debug Session" and then add a new configuration there (the plus icon above the list). Enter the proper host IP/name and port you entered on the command line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文