2015-09-17 4 views
1

Я не могу заставить свой ruby-debug-ide работать правильно. У меня есть основное приложение rails, и я хотел бы отлаживать RubyMine. Прежде чем я даже запустил RubyMine, мне нужно включить rdebug-ide в моей бродящей виртуальной машине. Когда я перейти к моей директории проекта, я прочитал в Интернете мне нужно ввести следующую команду:Как я могу заставить ruby-debug-ide работать?

rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 - bin/rails s -b 0.0.0.0 

Однако, когда я запускаю эту команду, я получаю сообщение: enter image description here

Я также попробовал модифицированная версия выше команд: (дополнительный тир)

rdebug-ide --port 1236 --dispatcher-port 26166 --host 0.0.0.0 -- bin/rails s -b 0.0.0.0 

И я получаю это в результате: enter image description here Это выглядит хорошо пихты st, но тогда сервер никогда не запускается. Он никогда не отображает информацию о сервере, и он просто сидит здесь и зависает, пока я не удалю CTRL + C с сервера. Я не могу заставить rdebug-ide работать вместе с рельсами. Кто-нибудь знает, как я могу это исправить?

+0

вы используете фиксированный IP от вашего бродяги конфигурация? если не убедитесь, что вы пересылаете порт, который вы используете (1236), чтобы хост мог прослушивать этот порт –

ответ

0

Я считаю, что вы должны добавить команду в конфигурацию удаленного отладки Ruby внутри RubyMine.

Run > Edit Configurations > Add Ruby remote debug конфигурации.

0

У меня RubyMine удаленной отладки работать :-)

Перед тем, как начать, убедитесь, что у вас есть унизить и установили RDebug-ида:

gem list | grep debase  
gem list | grep ruby-debug-ide 

sudo gem install debase 
sudo gem install ruby-debug-ide 

1. Запустите Rails сервер

Прежде всего, вам нужно запустить сервер 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.

2. Удаленная отладка с RubyMine

Теперь начните RubyMine (я использую RubyMine 2017.2.4), Run -> Debug ... -> Edit Configurations ...

Нажмите плюс знак ' + ', чтобы добавить новую конфигурацию и выбрать удаленный отладочный файл Ruby.

enter image description here

Заполните форму и нажмите кнопку Debug. Сразу же сервер уже больше не висит там, и сервер 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's Teapot 
* Min threads: 5, max threads: 5 
* Environment: development 
* Listening on tcp://0.0.0.0:3000 

Наконец, вы можете установить точки останова в RubyMine, и начать удаленную отладку :-)