Как подключить отладчик RubyMine IDE к процессу оболочки?

Я хочу использовать отладчик IDE Rubymine для отладки процесса ruby, запущенного в командной оболочке, поскольку он порождается, например, "Rails console".

Я получил большой пробег из отладчика при запуске веб-сервера (из Rubymine) или тестовых наборов (также выполняется из Rubymine).

однако, если процесс не запускается Rubymine, я не знаю, как подключить отладчик.

Я использую версию Rubymine 3.2.4 на Ubuntu с Sun Java 1.6.0_26, Ruby REE 1.8.7 и последние отладочные драгоценные камни:

ruby-debug-base (0.10.4)
ruby-debug-ide (0.4.17.beta8)

мысли?

3 ответов


использовать Ruby Remote Debug тип конфигурации в RubyMine. Обратитесь к официальному документация RubyMine для сведения.

в основном вы запускаете скрипт как:

rdebug-ide --port <port number> -- script.rb

и затем подключитесь к указанному порту от отладчика RubyMine.


вот как вы это делаете в Rails:

во-первых, убедитесь, что у вас есть rdebug-ide установлено:

gem install ruby-debug-ide --platform=ruby

далее запустите это в консоли:

rdebug-ide --port 6778 -- /projects/your_rails_project/script/rails console

или для рельсов 4.0+

rdebug-ide --port 6778 -- /projects/your_rails_project/bin/rails console

или, как упоминал @ChristopherWill ниже, вы можете пройти


Я действительно хочу опубликовать что-то здесь, что очень трудно найти полный ответ, и мне потребовалось очень много времени, чтобы понять. Есть люди, которые спрашивают, как подключить удаленную отладку к resque worker, и вот правильный способ, который работает, наконец, для меня. Эта статья высоко на Google search и будет легко найти.

из оболочки на сервере (для меня это мой ноутбук) выполните это из корня вашего сайта: rdebug-ide --порт 1236 --диспетчер-порт 26166 --хост 0.0.0.0 bin / rake resque: рабочая очередь=*

в RubyMine IDE настройте удаленную отладку с помощью: Удаленный хост: 127.0.0.1 Удаленный Порт: 1236 Удаленная корневая папка: путь на сервере к корневому сайту Локальный Порт: 26166 Локальный корневой путь: путь на вашей рабочей станции к корневому файлу, где вы бы установить точки останова (в моем случае его все локальные, так что все 1 путь и 1 копия файлов)

запустите веб-сервер как обычно с: rails s

настройка точки останова в Resque работника и попытаться выполните все, что вам нужно на вашем сайте, чтобы добраться до этой точки останова.

1 Примечание-наличие" весеннего " драгоценного камня дало мне ошибки, и я должен был прокомментировать его/bundle.