You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ruby-debug-ide与unicorn_rails搭配实现Rails调试

VSCode 调试 Unicorn 运行的 Rails 应用配置方法

不需要修改Rails逻辑从内部启动Unicorn,rdebug-ide 末尾 -- 后的参数本来就支持自定义任意待调试的Ruby进程启动命令,直接替换成你日常使用的Unicorn启动指令即可,完整调试启动命令如下:

rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 1234 -- bundle exec unicorn_rails -E "develop_against_staging" -p 3010 -c "${PWD}/config/unicorn.rb"

配置时有几个必须注意的点,未处理的话会出现断点失效、端口占用的问题:

  • 先修改Unicorn配置文件config/unicorn.rb,把worker进程数设为1,同时关闭preload_app预加载配置,避免多进程抢占调试端口:
    # config/unicorn.rb
    worker_processes 1
    preload_app false
    
  • 如果需要在VSCode内点击按钮直接启动调试、不用手动敲命令,直接在项目的.vscode/launch.json中添加如下配置即可:
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Rails Unicorn Debug",
          "type": "Ruby",
          "request": "launch",
          "cwd": "${workspaceRoot}",
          "program": "${workspaceRoot}/bin/bundle",
          "args": [
            "exec",
            "unicorn_rails",
            "-E",
            "develop_against_staging",
            "-p",
            "3010",
            "-c",
            "${workspaceRoot}/config/unicorn.rb"
          ],
          "remotePort": "1234"
        }
      ]
    }
    
  • 如果使用附加模式调试,先手动执行上述带rdebug-ide前缀的Unicorn启动命令,等终端输出调试服务监听1234端口的提示后,在VSCode调试面板选择attach类型的Ruby配置,连接本地1234端口即可正常打断点调试。

内容的提问来源于stack exchange,提问作者Isaiah Shiner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 20:27:18