@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Node.js debug 使い方

Debugger Node.js v4.1.1 Manual & Documentation

はじめてのNode.js:Node.jsアプリケーションのデバッグ 2ページ | OSDN Magazine

  • n(ext), s(tep), c(ontinue) などはいつもどおり
  • watch('expr') で変数の値をウォッチすると next で進むたびに常時その時点での値を表示してくれる
$ cat a.js
var a = 0;
a = 1;
a = 2;

$ node debug a.js
< Debugger listening on port 5858
debug> . ok
break in a.js:1
> 1 var a = 0;
  2 a = 1;
  3 a = 2;
debug> watch('a')
debug> n
break in a.js:2
Watchers:
  0: a = 0

  1 var a = 0;
> 2 a = 1;
  3 a = 2;
  4 
debug> n
break in a.js:3
Watchers:
  0: a = 1

  1 var a = 0;
  2 a = 1;
> 3 a = 2;
  4 
  5 });
  • 任意の expr を評価したいときは repl コマンドで改めて repl に入らないといけない
debug> repl
Press Ctrl + C to leave debug repl
> a
1
  • いまいる行の周辺のコードを見るには list(5) のようにする。 list は関数なのでカッコが必要
debug> list(5)
  1 var a = 0;
  2 a = 1;
> 3 a = 2;
  4 
  5 });
debug> list
[Function]
debug>