Ответ 1
Я считаю, что вы должны добавить команду в конфигурацию Ruby Remote Debug внутри RubyMine.
Run > Edit Configurations > Add Ruby remote debug
.
Я не могу заставить свой ruby-debug-ide работать правильно. У меня есть основное приложение rails, и я хотел бы отлаживать RubyMine. Прежде чем я даже запустил RubyMine, мне нужно включить rdebug-ide в моей бродящей виртуальной машине. Когда я перехожу к директории проекта, я читаю онлайн, мне нужно ввести следующую команду:
rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 - bin/rails s -b 0.0.0.0
Однако, когда я запускаю эту команду, я получаю это сообщение:
Я также попробовал модифицированную версию указанной выше команды: (дополнительная тире)
rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 -- bin/rails s -b 0.0.0.0
И я получаю это как результат:
Сначала это выглядит хорошо, но сервер никогда не запускается. Он никогда не отображает информацию о сервере, и он просто сидит здесь и зависает, пока я не удалю CTRL + C с сервера. Я не могу заставить rdebug-ide работать вместе с рельсами. Кто-нибудь знает, как я могу это исправить?
Я считаю, что вы должны добавить команду в конфигурацию Ruby Remote Debug внутри RubyMine.
Run > Edit Configurations > Add Ruby remote debug
.
У меня есть удаленная отладка RubyMine для работы: -)
Прежде чем начать, убедитесь, что у вас установлены debase и rdebug-ide:
gem list | grep debase
gem list | grep ruby-debug-ide
sudo gem install debase
sudo gem install ruby-debug-ide
Прежде всего, вам нужно запустить сервер Rails:
hello_rails$ rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails server
Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.2.beta10, file filtering is supported) listens on 0.0.0.0:1234
Для вашей справки мои версии Ruby, Rails и Ubuntu:
$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux-gnu]
$ rails -v
Rails 5.1.4
$ lsb_release -a
Description: Ubuntu 16.04.3 LTS
Codename: xenial
Как вы заметили, сервер никогда не запускается. Он просто висит там. Это действительно правильно. Он висит там, ожидая подключения, например, от RubyMine.
Теперь запустите RubyMine (я использую RubyMine 2017.2.4), Run → Debug... → Edit Configurations...
Нажмите плюс знак "+", чтобы добавить новую конфигурацию, и выберите удаленный отладочный файл Ruby.
Заполните форму и нажмите кнопку "Отладка". Сразу же сервер больше не висит там, и запускается сервер Rails:
hello_rails$ rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails server
Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.2.beta10, file filtering is supported) listens on 0.0.0.0:1234
WARN: Unresolved specs during Gem::Specification.reset:
rake (>= 0.8.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
=> Booting Puma
=> Rails 5.1.4 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.10.0 (ruby 2.4.2-p198), codename: Russell Teapot
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Наконец, вы можете установить точки останова в RubyMine и начать удаленную отладку: -)