The ruby-debug Commands
What follows is a quick rundown of the most important ruby-debug commands, along with a brief description of what they do. Don’t worry too much about remembering every last detail — the built-in help command will list all the available commands for you. You can also use the
help <commandname> syntax to get help with a specific command.
backtrace: Display a trace of the execution stack, similar to what is displayed when your application raises an exception.
break/delete: Display a list of breakpoints that have been set in your application. This command is also used to set new breakpoints, or delete existing ones, from within the ruby-debug shell.
cont: Leave the current debugger shell and resume execution of the application until the next breakpoint is encountered.
irb: Invoke an interactive Ruby interpreter at the current point of execution, similar to the shell used by the breakpoint library.
list: Display the code fragments surrounding the current point of execution. (We’ll make use of this command in a moment.)
method/method instance: Explore the available class methods and instance methods, respectively.
next/step: Continue execution one step at a time — this is a huge improvement over the breakpoint library.
p/pp: Short for print and pretty print respectively, these commands can be used to evaluate Ruby expressions and display the value of variables to the console.
quit: Exit the debugger. Note that this will also exit the application server if it was invoked from the command line, as demonstrated above. To just exit the current debugging session, use
reload: Reload the Ruby source files from disk. This can be useful if you’ve changed class definitions and want to reload them dynamically without leaving the current debugging session.
For a list of all available commands and options, use the