2010-08-07 1 views
2

Я хотел бы отлаживать и, возможно, вносить вклад в некоторые камни с открытым исходным кодом, но довольно новичок в Ruby и Rails. Каков наилучший способ войти и начать установку контрольных точек и т. Д.?Ruby Отладка библиотек с открытым исходным кодом

Сейчас я просто использую ruby-debug для своего собственного кода и в основном проверяю переменные.

+0

Я уже использую отладчик, я более смущен, как это сделать с другими библиотеками. Прямо сейчас я знаю, как клонировать репозиторий git, вносить изменения, а затем переустанавливать драгоценный камень и/или перезапускать сервер каждый раз. – Dex

+0

Похоже, нет возможности отлаживать использование Rails без перезапуска Rails каждый раз. Использование Gemfile с Bundler на самом деле очень безболезненно для использования libs как в Rails, так и в автономном режиме. – Dex

ответ

1

Вам нужен рубиновый отладчик. Убедитесь, что вы установили rubygems, а затем сделать

gem install ruby-debug 

Затем добавьте строку

require 'ruby-debug' 

на свой исходный код для загрузки библиотеки, и добавить ключевое слово «отладчик» везде, где вы хотите установить точки останова. Теперь, когда вы вызываете данный код, он попадает на консоль отладки, когда достигает точки останова - нажмите h, чтобы просмотреть список параметров, чтобы увидеть, что вы можете сделать оттуда. Очевидно, не забудьте удалить свои контрольные точки и инструкцию require после того, как вы закончите!

+0

Да, это то, что я сейчас делаю. Мысль о том, что, возможно, были некоторые другие инструменты, о которых я не знал. – Dex

+0

aah, извините, я пропустил этот бит вашего сообщения. bundler ('gem install bundler') упростит управление зависимостями драгоценных камней в ваших собственных проектах, поэтому, если вы хотите полагаться на вашу исправленную версию драгоценного камня, а не на каноническую версию, вы можете указать это и удержать связку отслеживать зависимость для вас. – mistertim

+0

С точки зрения внесения вклада в проекты стандартный рабочий процесс (при условии, что проект размещен на github), похоже, - fork git-репозиторий для проекта, внесите изменения на свою вилку (включая тесты для любых изменений), а затем отправьте тянуть запрос к исходному проекту. Затем сопровождающий может вытащить изменения из вилки и включить их в выпуск. Надеюсь это поможет! – mistertim