Rubymine:使用已安装的 Puma-dev 进行调试?
Rubymine: debugging using installed Puma-dev?
是否可以让 Rubymine 连接到(并重新启动)Puma-dev 的 installed/running 实例用于调试会话?
我使用 Puma-dev 在 "Appname".test 上测试我的 Rails 应用程序,但是如果我需要在应用程序中调试某些东西并想使用 Rubymine 的内置调试器,我可以只让它在端口 3000(或我选择的任何端口)上启动一个额外的 Puma 实例,而不是在端口 80/443 上已经 运行 Puma-dev。
有可能吗?
这可以通过 remote debugging 实现。要配置,您必须对您的应用程序进行一些更改:
将 export RUBY_DEBUG_PORT=1234
添加到 .env
或 .powenv
或任何文件 puma-dev will load an environment variable from。随意使用您喜欢的任何端口,尽管 RubyMine 默认使用 1234。
将 ruby-debug-ide
和 debase
gem 添加到项目的 Gemfile 中。
向您的项目添加初始化程序以初始化远程调试,如下所示:
if Rails.env.development? && ENV['RUBY_DEBUG_PORT']
Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i
end
- 重新启动 puma-dev。
- 转到 RubyMine 中的编辑配置并添加 "Ruby remote debug" 配置。随心所欲地命名。将端口更改为您通过
RUBY_DEBUG_PORT
设置的端口。将本地和远程根文件夹设置为项目根目录。
- Select 您新创建的配置,然后单击“调试”按钮。它应该连接到您的 puma-dev 进程中的调试器 运行。
是否可以让 Rubymine 连接到(并重新启动)Puma-dev 的 installed/running 实例用于调试会话?
我使用 Puma-dev 在 "Appname".test 上测试我的 Rails 应用程序,但是如果我需要在应用程序中调试某些东西并想使用 Rubymine 的内置调试器,我可以只让它在端口 3000(或我选择的任何端口)上启动一个额外的 Puma 实例,而不是在端口 80/443 上已经 运行 Puma-dev。
有可能吗?
这可以通过 remote debugging 实现。要配置,您必须对您的应用程序进行一些更改:
将
export RUBY_DEBUG_PORT=1234
添加到.env
或.powenv
或任何文件 puma-dev will load an environment variable from。随意使用您喜欢的任何端口,尽管 RubyMine 默认使用 1234。将
ruby-debug-ide
和debase
gem 添加到项目的 Gemfile 中。向您的项目添加初始化程序以初始化远程调试,如下所示:
if Rails.env.development? && ENV['RUBY_DEBUG_PORT'] Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i end
- 重新启动 puma-dev。
- 转到 RubyMine 中的编辑配置并添加 "Ruby remote debug" 配置。随心所欲地命名。将端口更改为您通过
RUBY_DEBUG_PORT
设置的端口。将本地和远程根文件夹设置为项目根目录。 - Select 您新创建的配置,然后单击“调试”按钮。它应该连接到您的 puma-dev 进程中的调试器 运行。