ここでは、Node.js の --inspect モードを使って VSCode でステップ実行(デバッグ)する方法を、
プログラミング初心者向けに 手順通りに進められるチュートリアル形式で解説します。
目標
✅ Node.js プログラムを
✅ VSCode から「ブレークポイント付き」で
✅ ステップ実行(1行ずつ動かして変数を確認)できるようになる!
1. 事前準備
| 必要なもの | 説明 |
|---|---|
| Node.js | バージョン16以上を推奨。node -v で確認 |
| VSCode | 最新版(無料) |
| VSCode拡張機能:「JavaScript Debugger」 | 通常は最初から入っています |
2. サンプルコードを準備
まずは小さなファイルを作りましょう。
📄 debug_test.js
function add(a, b) {
const result = a + b;
return result;
}
function main() {
const x = 5;
const y = 10;
const sum = add(x, y);
console.log("合計は:", sum);
}
main();
JavaScript3. Node.js を「デバッグモード」で起動する方法
ターミナルで以下を実行します:
node --inspect debug_test.js
すると、出力にこんな感じが出ます👇
Debugger listening on ws://127.0.0.1:9229/xxxxxxxx
For help, see: https://nodejs.org/en/docs/inspector
これで Node.js は「デバッグサーバー」として待機中。
VSCode などの外部ツールがこのポート (9229) に接続できます。
4. VSCode 側の設定(launch.json の作成)
VSCode の左側サイドバーから「実行とデバッグ ▶(虫のアイコン)」をクリック。
次に:
- 「launch.json ファイルを作成」をクリック
- 「Node.js (JavaScript)」を選択
- VSCode が自動でテンプレートを作ってくれます
作成された launch.json の中身(例):
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/debug_test.js"
}
]
}
JSONこれで OK です。
5. ブレークポイントを置く
コードエディタの左端(行番号の左)をクリックすると赤い丸がつきます👇
例:
function add(a, b) {
const result = a + b; // ←ここをクリックして赤丸(ブレークポイント)を置く
return result;
}
JavaScript6. ▶️ デバッグ実行する
「実行とデバッグ」ビューの上部からLaunch Program を選択 → ▶(再生ボタン)を押す!
💡 VSCode が自動で Node.js を --inspect モードで起動します。
7. ⏸️ ステップ実行の方法(デバッグ中)
ブレークポイントで一時停止したら、上部のツールバーを使います👇
| ボタン | 名前 | 動作 |
|---|---|---|
| ▶️ | Continue | 次のブレークポイントまで進む |
| ↷ | Step Over | 1行ずつ実行(関数の中には入らない) |
| ⤵️ | Step Into | 関数の中に入る |
| ↩️ | Step Out | 現在の関数を最後まで実行して戻る |
| 🛑 | Stop | デバッグを終了 |
8. 🔍 変数の中身を確認する
VSCode の左側「変数」「コールスタック」ペインで以下を確認できます。
| 項目 | 意味 |
|---|---|
| 変数 (Variables) | 現在のスコープで使える変数の値 |
| ウォッチ (Watch) | 特定の式(例:x + y)をリアルタイム監視 |
| コールスタック (Call Stack) | 関数の呼び出し履歴(stack trace) |
| ブレークポイント (Breakpoints) | どの行で止まるかの一覧 |
9. 実際にデバッグしてみる(ステップ実行)
1️⃣ main() の先頭でブレーク
2️⃣ F10(または「Step Over」)を押すたびに1行ずつ進む
3️⃣ 「変数」ウィンドウで x, y, sum の値がどう変わるか確認
👉 プログラムの流れが目で見える!
10. もう少し便利な設定(オプション)
🔸 ファイル保存で自動再実行したい場合
launch.json に "restart": true を追加:
"restart": true
JSON🔸 コマンドライン引数を渡したい場合
"args": ["arg1", "arg2"]
JSON🔸 外部サーバー(既に node --inspect で起動中)に接続したい場合
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 9229
}
JSON→ Node.js を手動で node --inspect yourfile.js しておき、
この設定で「接続(Attach)」すればOK。
11. 非同期コードのデバッグもOK!
async/await や Promise も、VSCodeデバッガなら普通にステップ実行できます👇
async function fetchData() {
const data = await new Promise(resolve =>
setTimeout(() => resolve("データ取得成功"), 1000)
);
console.log(data);
}
fetchData();
JavaScript👉 await の前で止めて、「非同期が再開されるタイミング」を観察できます。
まとめ
| ステップ | 内容 |
|---|---|
| ① | debug_test.js を作成 |
| ② | VSCode で「launch.json」作成 |
| ③ | ブレークポイントを置く |
| ④ | ▶️ デバッグ実行 |
| ⑤ | F10 / F11 でステップ実行 |
| ⑥ | 左側ペインで変数・コールスタックを確認 |
💬 ポイント:
--inspectは「Node.js にデバッガ接続を許可するモード」- VSCode は「その接続を自動で管理してくれるツール」
- ステップ実行できると「頭の中で追っていた流れ」を“目で見て確認”できる!


