環境
- 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を二回押す。