Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

debugger docs

Fixes #1767
  • Loading branch information...
indutny authored and ry committed Sep 25, 2011
1 parent 82d0ac7 commit 02e0a0aa10959c3dcc1f44bcdac6cac67b65092e
Showing with 41 additions and 30 deletions.
  1. +41 −30 doc/api/debugger.markdown
@@ -6,17 +6,14 @@ Node has a built-in client for this debugger. To use this, start Node with the
`debug` argument; a prompt will appear:

% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
1 x = 5;
2 setTimeout(function () {
3 debugger;
debug>

At this point `myscript.js` is not yet running. To start the script, enter
the command `run`. If everything works okay, the output should look like
this:

% node debug myscript.js
debug> run
debugger listening on port 5858
connecting...ok

Node's debugger client doesn't support the full range of commands, but
simple step and inspection is possible. By putting the statement `debugger;`
into the source code of your script, you will enable a breakpoint.
@@ -33,35 +30,49 @@ For example, suppose `myscript.js` looked like this:

Then once the debugger is run, it will break on line 4.

% ./node debug myscript.js
debug> run
debugger listening on port 5858
connecting...ok
hello
break in #<an Object>._onTimeout(), myscript.js:4
debugger;
^
% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
1 x = 5;
2 setTimeout(function () {
3 debugger;
debug> cont
< hello
break in /home/indutny/Code/git/indutny/myscript.js:3
1 x = 5;
2 setTimeout(function () {
3 debugger;
4 console.log("world");
5 }, 1000);
debug> next
break in #<an Object>._onTimeout(), myscript.js:5
console.log("world");
^
debug> print x
break in /home/indutny/Code/git/indutny/myscript.js:4
2 setTimeout(function () {
3 debugger;
4 console.log("world");
5 }, 1000);
6 console.log("hello");
debug> repl
Press Ctrl + C to leave debug repl
> x
5
debug> print 2+2
> 2+2
4
debug> next
world
break in #<an Object>._onTimeout() returning undefined, myscript.js:6
}, 1000);
^
< world
break in /home/indutny/Code/git/indutny/myscript.js:5
3 debugger;
4 console.log("world");
5 }, 1000);
6 console.log("hello");
7
debug> quit
A debugging session is active. Quit anyway? (y or n) y
%

The `print` command allows you to evaluate variables. The `next` command steps
over to the next line. There are a few other commands available and more to
come type `help` to see others.
The `repl` command allows you to evaluate code remotely. The `next` command
steps over to the next line. There are a few other commands available and more
to come type `help` to see others.


### Advanced Usage

0 comments on commit 02e0a0a

Please sign in to comment.
You can’t perform that action at this time.