環境
- nodejs 10
やりたいこと
rubyのbinding.pryみたいにプログラムコードの途中で実行を止めて変数の中身とか参照したい
やり方
例えば以下のようなjavascriptを用意する。
const val1 = 1; const val2 = 2; debugger console.log(val1 + val2);
1つ目のポイントは止めたいところでdebuggerを入れる。
2つ目のポイントは実行をnode inspect xxx.jsとして実行する。
~/tmp $node inspect sample.js
< Debugger listening on ws://127.0.0.1:9229/0143445a-8d55-4c74-9a4c-00a11020097a
< For help see https://nodejs.org/en/docs/inspector
< Debugger attached.
Break on start in sample.js:1
> 1 (function (exports, require, module, __filename, __dirname) { const val1 = 1;
2 const val2 = 2;
3
debuggerのところまで行くには「cont」と入力してエンター
debug> cont break in sample.js:4 2 const val2 = 2; 3 > 4 debugger 5 6 console.log(val1 + val2);
対話的に実行したいなら「repl」と入力してエンター
debug> repl Press Ctrl + C to leave debug repl > val1 1 > val2 2 > val1 + 114514 114515
終了する際は「.exit」と入力するかCtrl+cを二回押す。