Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
debugger docs
Browse files Browse the repository at this point in the history
Fixes #1767
  • Loading branch information
indutny authored and ry committed Sep 25, 2011
1 parent 82d0ac7 commit 02e0a0a
Showing 1 changed file with 41 additions and 30 deletions.
71 changes: 41 additions & 30 deletions doc/api/debugger.markdown
Expand Up @@ -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.
Expand All @@ -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
Expand Down

0 comments on commit 02e0a0a

Please sign in to comment.