`binding.pry` for javascript console?

cgenco picture cgenco · Jun 13, 2013 · Viewed 11.4k times · Source

In Ruby, I can type binding.pry anywhere in my code and at that point of execution my console will enter a REPL where I have access to all local variables, can make changes, and execute any arbitrary code.

Example:

# foo.rb
require 'pry'
n = 5
binding.pry
puts "your number is #{n}"

When I run it:

$ ruby foo.rb

From: /Users/cgenco/Desktop/foo.rb @ line 4 :

    1: # foo.rb
    2: require 'pry'
    3: n = 5
 => 4: binding.pry
    5: puts "your  number is #{n}"

[1] pry(main)> n = 100
=> 100
[2] pry(main)> exit
your number is 100

This is an incredible tool in debugging, especially for situations that require a complicated setup: I can just type binding.pry at the spot I need more code, mess around, figure out what code needs to written, then add the polished code to the actual source code.

Is there a tool like pry for javascript that works in a browser console?

Answer

Pigueiras picture Pigueiras · Jun 13, 2013

Try with debugger; in your code as this answer suggests. Your browser developer tools must be open.