首页 > 解决方案 > 将 ruby​​-debug-ide 附加到现有的 Rails 服务器

问题描述

背景

我已经ruby-debug-ide在 Visual Studio Code 中设置了远程调试(我正在使用 Docker)。我在我docker-compose.yml的启动ruby-debug-ide和我的rails服务器中使用这个命令:

rm -f /api/tmp/pids/server.pid && rdebug-ide --host 0.0.0.0 --port 1234 -- bin/rails server --port=3000 --binding=0.0.0.0

然后在 vscode 我有这个 launch.json 脚本:

{
  "name": "Listen for rdebug-ide",
  "type": "Ruby",
  "request": "attach",
  "cwd": "${workspaceRoot}",
  "remoteHost": "127.0.0.1",
  "remotePort": "1234",
  "remoteWorkspaceRoot": "/app",
  "showDebuggerOutput": true
}

当我去 vscode 并启动那个 launch.json 脚本时,我的 rails 服务器和调试器一样启动。但是当我停止/分离 launch.json 脚本时,rails 服务器就死了。

我的问题

有没有办法ruby-debug-ide独立启动我的 Rails 服务器?我希望能够在不调试时访问我的 Rails 应用程序。是否有可能做这样的事情:

# start my rails server
rm -f /api/tmp/pids/server.pid && bin/rails server --port=3000 --binding=0.0.0.0

# also start rdebug-ide and wait for something (vscode) to attach to it later on
rdebug-ide --host 0.0.0.0 --port 1234 -- <attach_to_my_rails_server>

标签: ruby-on-railsrubyvisual-studio-codevscode-debuggerruby-debug-ide

解决方案


你试过这个: rdebug-ide --host 0.0.0.0 --port 1234 -- bin/rails s -b 0.0.0.0


推荐阅读