VSCode rdbg Ruby Debugger提示‘找不到可附加Ruby进程’,缺失哪些配置步骤?
解决Ruby调试器找不到可附加进程的配置方案
一、启动Rails服务时开启调试端口
别用普通的rails s启动服务,改用rdbg命令启动,让进程处于可被调试器附加的状态:
bundle exec rdbg -n --open -c rails s
参数说明:
-n:开启网络监听,允许调试器连接--open:启动后自动打开调试会话(可选,省得手动连接)-c:启动后立刻暂停,等调试器连上再继续(适合需要在启动阶段打断点的场景)
二、配置VS Code的launch.json
打开VS Code调试面板,点击「创建launch.json文件」选择Ruby环境,然后替换成下面的配置:
场景1:附加到已经运行的Rails进程
{ "version": "0.2.0", "configurations": [ { "type": "rdbg", "name": "Attach to Rails", "request": "attach", "remote": true, "host": "localhost", "port": 1234 // 默认端口,要是启动rdbg时改了端口,这里也得对应修改 } ] }
场景2:直接在VS Code里启动并调试Rails服务
{ "version": "0.2.0", "configurations": [ { "type": "rdbg", "name": "Debug Rails Server", "request": "launch", "program": "${workspaceRoot}/bin/rails", "args": ["s"], "useBundler": true // 自动用bundle exec执行,不用手动加前缀 } ] }
额外注意
- 要是启动rdbg时用
-p指定了自定义端口(比如-p 5678),launch.json里的port字段必须改成对应的数值 - 确认项目Gemfile里有
debuggem,没有的话执行bundle add debug后重启服务
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

