Rubymine:使用已安装的Puma-dev进行调试吗?

Joa*_*2he 1 ruby debugging ruby-on-rails rubymine puma

是否可以让Rubymine连接(并重新启动)用于调试会话的已安装/正在运行的Puma-dev实例?

我使用Puma-dev在“ Appname” .test上测试我的Rails应用程序,但是如果我需要在应用程序中调试某些东西并想使用Rubymine的内置调试器,则只能让它在Port上启动另一个Puma实例。 3000(或我选择的任何端口),但尚未在端口80/443上运行的Puma-dev。

有可能吗?

小智 5

这可以通过远程调试来实现。要进行配置,您必须对应用程序进行一些更改:

  1. 添加export RUBY_DEBUG_PORT=1234.env.powenv任何文件puma-dev 将从中加载环境变量。随意使用您想要的任何端口,尽管RubyMine默认使用1234。

  2. ruby-debug-idedebasegems 添加到项目的Gemfile中。

  3. 将初始化程序添加到项目中以初始化远程调试,如下所示:

    if Rails.env.development? && ENV['RUBY_DEBUG_PORT']
      Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i
    end
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新启动puma-dev。
  5. 转到RubyMine中的“编辑配置”,然后添加“ Ruby远程调试”配置。随便命名。将端口更改为您通过设置的端口RUBY_DEBUG_PORT。将本地和远程根文件夹设置为项目根目录。
  6. 选择新创建的配置,然后单击“调试”按钮。它应该连接到在puma-dev进程中运行的调试器。

  • 这很漂亮!我确定这应该可以,但是不知道如何去做。谢谢! (2认同)