node-inspectorなしでNode.jsをデバッグする

Node.jsをデバッグする時は「node-inspector」を使うことが多いです

www.npmjs.com

ですが、「node-nightly」版を使うと「node-inspector」なしでデバッグすることが可能です!
v6.3.0で標準実装されました!(2016/07/07追記)

準備

ダウンロード

「node-nightly」版を落としてきます

https://nodejs.org/download/nightly/v7.0.0-nightly20160621ecc48a154d/

↑ここに環境ごとのバイナリファイルがあるのでダウンロードします

解凍

tar zxvf node-v7.0.0-nightly20160621ecc48a154d-darwin-x64.tar.gz

解凍したら、binフォルダに実行ファイルがあるので、適当な場所にコピーします

サンプルプログラム

今回は、expressを使った簡単なサンプルプログラムを用意します

インストール

npm init -y
npm install -S express

ソース

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

app.listen(3000);

デバッグ

Nightly版の場合は

node-nightly --inspect --debug-brk app.js

v6.3.0が入ってる方は

node --inspect --debug-brk app.js

「--inspect」フラグを付けることでデバッグが可能です
実行時に最初の行で止めたい場合は、「--debug-brk」フラグを付けると止まります

実行すると、↓このように表示されるので

f:id:jewelofren:20160626171115p:plain

chrome-devtools://...」の部分をコピーしChromeで開きます
そうすると↓このように最初の行で止まった状態になるので、任意の場所にブレイクポイントを貼ります

f:id:jewelofren:20160626172413p:plain

今回は、「http://localhost:3000」にリクエストが来たら止まるようにしました

http://localhost:3000」にアクセスしてみると↓このようにブレイクポイントで止まり
変数の中身などが確認できます

f:id:jewelofren:20160626172903p:plain