Как использовать ruby-debug внутри Emacs?

Я знаю, что Emacs имеет какую-то интеграцию с gdb (хотя я никогда не использовал его) для перехода через файлы при отладке программы. Я хотел бы сделать то же самое с программами Ruby.

Ответы

Ответ 1

Как сказал erenon, используйте ruby ​​debug, который предоставляет библиотеку emacs, которая позволяет использовать ее как gdb.

Установите rdebug, выпустив эту команду на своем терминале (sudo не является обязательным, в зависимости от вашей системы):

<sudo> gem install ruby-debug

Затем вам нужно download файл ruby-debug-extra из rubyforge и установить его стандартным способом.

  sh ./configure
  make
  make test # optional, but a good idea
  sudo make install

Это дает вам файлы elisp для взаимодействия с rdebug, а также документацию для ruby-debug, которую можно просмотреть из emacs.

AJ

Ответ 2

Существует еще один emacs для интерфейса ruby-debug. См. https://github.com/rocky/emacs-dbgr/wiki.

В более общем плане, он работает с другими отладчиками ruby ​​и другими отладчиками в целом.

Ответ 3

Вы можете использовать rdebug.

Ответ 4

Я получаю "Не могу открыть файл загрузки: gdb-ui" в GNU Emacs 23.1.50.1 (x86_64-apple-darwin10.0.0, NS apple-appkit-1038.11) 2009-10-31

Ответ 5

У меня была проблема с gdb-ui, но я нашел решение: я загрузил gdb-ui.el из здесь и поместите его в ruby-debug-extra/emacs dir... затем я скорректировал Makefiles, чтобы указать на этот файл перед любыми другими файлами rdebug *.el. После этого вы получите работу. Поскольку я использую emacs-snapshot и режим gdb уже доступен в моей среде emacs, эта проблема только собирается построить режим rdebug. После этого я установил его с помощью "sudo make install", и он отлично работает:) Не забудьте добавить (требуется "rdebug" ) в ваш файл ~/.emacs или что-то еще, что вы используете для загрузки вашей конфигурации.

Ответ 6

Выбранную стратегию можно заставить работать, хотя texi2html и texinfo недостаточно для моей системы, но я прекратил эту стратегию, не устанавливая дополнительные пакеты.

Вот что я сделал: загрузите ruby-debug-extra-0.10.4.tar.gz из http://rubyforge.org/frs/?group_id=1900&release_id=28306, разгрузите его, но НЕ выполняйте всю настройку /make/blah/blah. Вместо этого я просто скопировал каталог "emacs" в файл ~/.emacs.d/rdebug, а затем добавлен в файл ~/.emacs.d/init.el(вы также можете использовать файл ~/.emacs):

(add-to-list 'load-path "~/.emacs.d/rdebug")
(autoload 'rdebug "rdebug" "ruby-debug interface" t)

Это не байт-компиляция, мне было все равно. Я предпочитаю это решение, потому что меня действительно раздражало, что пакеты заставляют вас устанавливать документы.