ruby-on-rails - Rubymine:使用已安装的 Puma-dev 进行调试?
问题描述
是否可以让 Rubymine 连接到(并重新启动)已安装/正在运行的 Puma-dev 实例以进行调试会话?
我使用 Puma-dev 在“Appname”.test 上测试我的 Rails 应用程序,但是如果我需要在应用程序中调试某些内容并想使用 Rubymine 的内置调试器,我只能让它在端口上启动一个额外的 Puma 实例3000(或我选择的任何端口)但不是已经在端口 80/443 上运行的 Puma-dev。
有可能吗?
解决方案
这可以通过远程调试来实现。要进行配置,您必须对您的应用程序进行一些更改:
添加
export RUBY_DEBUG_PORT=1234
到.env
或.powenv
或任何文件 puma-dev将从. 随意使用你喜欢的任何端口,尽管 RubyMine 默认使用 1234。将
ruby-debug-ide
和debase
gems 添加到项目的 Gemfile 中。将初始化程序添加到您的项目以初始化远程调试,如下所示:
if Rails.env.development? && ENV['RUBY_DEBUG_PORT'] Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i end
- 重启 puma-dev。
- 转到 RubyMine 中的编辑配置并添加“Ruby 远程调试”配置。随意命名。将端口更改为您通过设置的端口
RUBY_DEBUG_PORT
。将本地和远程根文件夹设置为项目根目录。 - 选择您新创建的配置,然后单击“调试”按钮。它应该连接到在您的 puma-dev 进程中运行的调试器。
推荐阅读
- sql - 列出特定查询的至少有一行具有非空值的表的列
- javascript - 在 node.js 中为链式函数编写笑话测试
- android - 在后台服务中拦截 Android 蓝牙相机快门
- python - Python:如何在 kivy 中使标签加粗
- javascript - 将当前日期与从 api 响应收到的日期进行比较
- powershell - Powershell cmdlet New-AzureRmSqlDatabaseExport 中的共享访问签名 (SAS) 密钥有什么格式?
- php - 数组到对象抛出未捕获的错误:调用未定义的方法 stdClass
- excel - 将 16 名玩家分成 4 组,其中没有人来自同一个较早的组
- javascript - toplevel var statement with common vs. assignment statement with comma: why are they different
- php - CakePHP 2.x - 请求数据中的某些字段不完整