CSC/ECE 517 Fall 2014/ch1a 26 sn: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 17: Line 17:
= Commands =
= Commands =


== The Step command ==
=== The Step command ===
The Step command continues execution by moving into the method on the next line. To put it in another way, the command takes us deeper into the method. Following our example, the step command would take us into 'method3' at which point we would be asked what to do next.
 
== The Next command ==
== The Next command ==
== The Finish command ==
== The Finish command ==

Revision as of 21:01, 15 September 2014

Debugging in Rails using Pry

Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Few of the debugging techniques are Print debugging (also known as printf debugging), Log debugging and Interactive debugging. Rails provides a range of options to make debugging easier which include debug helpers, loggers, graphical debuggers, Pry, and so on. In the following sections, we would be discussing about debugging in Rails using Pry.

Introduction to Pry debugger

Pry is an interactive shell for the Ruby programming language. It is possible to start Pry at any point inside a running program. Due to the reflective nature of Ruby, this lets the programmer inspect the program, change its current state, or correct the source code without restarting the process. Pry is thus notable for its ability to start a REPL within a running program.

Pry has the following features that make it extremely efficient to use:

  • View a document or source for a method: The show-doc method gives you information regarding the method and to take a quick look at the source, there's also the show-method method.
  • Search your Pry history: Pry's hist --grep makes it easy to search through your Pry history.

Commands

The Step command

The Step command continues execution by moving into the method on the next line. To put it in another way, the command takes us deeper into the method. Following our example, the step command would take us into 'method3' at which point we would be asked what to do next.

The Next command

The Finish command

The Continue command

Reference