個人用メモです。
どこからでも確認できるように public な場所に置いていますが
特に人に見せることを意識してまとめていません。
node debug
node には debug 機能が組み込まれています。
サンプル
コード
var hoge = "hoge"; hoge += hoge; var ary = []; ary.push(1); ary.push(2);
試行
$ node inspect index.js Break on start in index.js:1 > 1 (function (exports, require, module, __filename, __dirname) { var hoge = "hoge"; 2 hoge += hoge; 3 var ary = []; debug> help run, restart, r Run the application or reconnect kill Kill a running application or disconnect cont, c Resume execution next, n Continue to next line in current file step, s Step into, potentially entering a function out, o Step out, leaving the current function backtrace, bt Print the current backtrace list Print the source around the current line where execution is currently paused setBreakpoint, sb Set a breakpoint clearBreakpoint, cb Clear a breakpoint breakpoints List all known breakpoints breakOnException Pause execution whenever an exception is thrown breakOnUncaught Pause execution whenever an exception isn't caught breakOnNone Don't pause on exceptions (this is the default) watch(expr) Start watching the given expression unwatch(expr) Stop watching an expression watchers Print all watched expressions and their current values exec(expr) Evaluate the expression and print the value repl Enter a debug repl that works like exec scripts List application scripts that are currently loaded scripts(true) List all scripts (including node-internals) profile Start CPU profiling session. profileEnd Stop current CPU profiling session. profiles Array of completed CPU profiling sessions. profiles[n].save(filepath = 'node.cpuprofile') Save CPU profiling session to disk as JSON. takeHeapSnapshot(filepath = 'node.heapsnapshot') Take a heap snapshot and save to disk as JSON. debug> exec hoge undefined debug> n break in index.js:1 > 1 (function (exports, require, module, __filename, __dirname) { var hoge = "hoge"; 2 hoge += hoge; 3 var ary = []; debug> exec hoge undefined debug> n break in index.js:2 1 (function (exports, require, module, __filename, __dirname) { var hoge = "hoge"; > 2 hoge += hoge; 3 var ary = []; 4 ary.push(1); debug> exec hoge 'hoge' debug> n break in index.js:3 1 (function (exports, require, module, __filename, __dirname) { var hoge = "hoge"; 2 hoge += hoge; > 3 var ary = []; 4 ary.push(1); 5 ary.push(2); debug> exec hoge 'hogehoge' debug> list(1) 2 hoge += hoge; > 3 var ary = []; 4 ary.push(1);
- chrome で debug
$ node --inspect-brk index.js
chrome://inspect/
を開く