Ruby-debug для 1.8+, а ruby-debug19 для 1.9 +.
ruby-debug легок в освоении и очень полезен.Вы можете указать приложению запускаться до тех пор, пока не будет выполнено определенное условие, а затем прервать его, упрощая поиск значений nil или других условий, возникающих время от времени.
В командной строке используйте rdebug appname
, и в итоге вы получите приглашение отладчика.Если вы хотите запустить строку 100 и остановиться, вы можете ввести c 100
, и отладчик установит временную точку останова, программа запустится и остановится там, если она находится в пути выполнения.Как только он остановится, временная точка останова будет очищена.Если вы всегда хотите остановиться на строке 100, вы можете сделать b 100
, затем c
, и отладчик установит постоянную точку останова, продолжить, а затем остановиться, когда будет достигнута точка останова.Вы можете очистить точки останова, установить условные точки, возникающие при применении определенных условий, и т. Д. Вы можете набрать n
, чтобы перейти к следующей инструкции, пропускающей вызовы подпрограмм, или s
, чтобы перейти к ним.Существуют команды для отображения содержимого переменных различными способами, поэтому прочитайте документы.
Внутри rdebug вы можете заскочить в оболочку IRB с уже заполненными переменными, чтобы вы могли ткнуть в вещи, чтобы увидеть, что происходит.Изнутри вы можете проверять или устанавливать значения, помогая с настройками «что если».Если вы сделаете это из rdebug, вы можете продолжить программу с измененными значениями и посмотреть, как она себя ведет.
IRB имеет свое место, и он отлично подходит для попыток, но не заменяетотладчик, так же, как отладчик может делать некоторые вещи IRB, но не заменит его.Оба инструмента являются хорошей комбинацией и превосходно полагаются на операторы печати или дамп в файл журнала.
Pry стал отличной комбинацией IRB и отладчик , и его вполне стоит исследовать.