Как подключить отладчик 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.