Я пытаюсь удаленно отлаживать код Ruby (on Rails) в контейнере Docker с помощью кода Visual Studio.
У меня не установлен Ruby на моей машине, только в Docker.
- VSCode: 1.30.1
- ОС: Windows 10 Profesionnal, 1709
- Docker Desktop: 2.0.0.0-win81 (29211) Сообщество
- Докер: 18.09.0
- Рубин: 2.6.0
Процедура следующая:
- Контейнер Docker выполняет команду
bundle exec rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -b 0.0.0.0
, а затем «Fast Debugger (ruby-debug-ide 0.7.0.beta7, debase 0.2.3.beta3, фильтрация файлов поддерживается) прослушивает 0.0.0.0:1234"
- Я начинаю отладку в VScode, и запускается Puma.
- Я управляю приложением.
- Точки останова не работают.
Однако VSCode указывает на строку, выполняемую, когда я приостанавливаю отладку. После этого я могу перешагнуть, и VARIABLES, WATCH и CALL STACK работают.
Кажется, что только BREAKPOINTS не работают.
Вот мой файл (фрагменты):
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for rdebug-ide",
"type": "Ruby",
"request": "attach",
"cwd": "${workspaceRoot},
"remoteHost": "10.0.75.1",
"remotePort": "1234",
"remoteWorkspaceRoot": "/var/work/app",
"showDebuggerOutput": true,
}
]
}
докер-compose.yml:
services:
app:
build: "./app"
depends_on:
- db
ports:
- "3000:3000"
- "1234:1234"
- "26162:26162"
volumes:
- "./app:/var/work"
stdin_open: true
tty: true
Gemfile:
gem 'ruby-debug-ide', '0.7.0.beta7'
gem 'debase', '~> 0.2.3.beta3'
Я тоже пробовал с этим
gem 'ruby-debug-ide', '0.6.0'
gem 'debase', '~> 0.2.2'