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

VSCode调试Docker内运行的Rails应用断点不生效问题求助

可按以下优先级排查问题:

  • 路径映射错误(最高概率)
    你当前launch.json中的remoteWorkspaceRoot填写的是本地项目路径${workspaceRoot},但容器内的项目根目录路径和本地并不一致,需要修改为容器内实际的项目根路径。
    举个例子:如果你的docker-compose.yml中是把本地代码挂载到容器的/app目录下,就把对应配置修改为:
"remoteWorkspaceRoot": "/app"

同时注意remotePort的值要改为数字类型,不要用字符串:

"remotePort": 1234
  • Puma多进程模式冲突
    rdebug-ide默认仅能捕获主进程的断点,Rails开发环境如果开启了Puma集群模式(多worker),请求会分发到子进程处理,导致断点无法触发。
    修改项目下config/puma.rb文件,强制开发环境使用单进程模式:
# 开发环境关闭多worker
if ENV["RAILS_ENV"] == "development"
  workers 0
  threads 1, 1 # 同时关闭多线程避免冲突
end
  • 确认Docker端口映射配置
    检查docker-compose.yml中对应的服务配置,是否已暴露调试端口1234:
services:
  some-app:
    # 其他配置省略
    ports:
      - "5000:5000"
      - "1234:1234" # 必须加调试端口的映射

修改完配置后重启容器、重新attach调试即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:57:03