ホーム自己紹介ブログ
NO.84
DATE2022. 07. 09

JavaScriptのdebuggerを使ってデバッグしよう (Browser/Node.js/Jest)

JavaScript の標準機能 debugger を使って、デバッグをしましょう。 標準機能なので、React などのライブラリでも使えます。

Browser

次の HTML ファイルを Chrome で開きます。

<button>Button</button>
<script>
  document.querySelector("button").addEventListener("click", () => {
    debugger;
    alert("Hello World");
  });
</script>

開いたページで、DevTools も開いておきます。 その状態で、Button をクリックしましょう。

そうすると、次の画像のようになります。

browser_debugger

debuggerと書いた箇所で、処理が停止されます。 そのブレークポイントから、ステップイン、ステップアウト、ステップオーバーといった操作ができます。 Console タブで、変数や関数などの実行結果を確認できます。

このように、簡単にデバッグができるようになります。

Node.js

Node.js でも、同様に debugger が使えます。 次の JavaScript コードを用意します。

// main.js
debugger;
console.log("Hello World");

このファイルを次のコマンドで実行します。

node --inspect-brk main.js

実行すると、次の画像のような出力になります。

node_debugger_1

その後、Chrome から chrome://inspect にアクセスしてください。 アクセスすると、次の画像の画面になります。

node_debugger_2

Open dedicated DevTools for Node を Click したら、次の画像のようになります。

node_debugger_3

そうです、さきほどと同じように、debugger の箇所で、処理が停止されます。 簡単ですね。

Jest

テストフレームワークの Jest も、同じように debugger が使えます。 次のテストコードを用意します。

// main.test.js
test("1 equal 1", () => {
  debugger;
  expect(1).toBe(1);
});

このファイルに対して、次のコマンドを実行します。

## mac
node --inspect-brk node_modules/.bin/jest --runInBand main.test.js
## windows
node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand main.test.js

実行すると、次の画像のような出力になります。

jest_debugger_1

また、同じく Chrome からchrome://inspect にアクセスすると、同様にデバッグできます。

jest_debugger_2
jest_debugger_3

Browser,Node.js と同じ使い方になります。 わかりやすいですね。

終わりに

IDE やエディタでデバッグ設定することもできますが、こちらの方が断然楽ですね。

参考

  • developer.mozilla.org
  • https://nodejs.org/ja/docs/guides/debugging-getting-started/
  • jestjs.io
フロントエンド
開発ツール

-

読者になる

|

シェアする

|

silverbirders

silverbirder

Webソフトウェアエンジニア

ブログを応援する

この記事がよかったら、お布施という形で応援してもらえるとうれしいです。

おふせぼたん

※ ログイン不要で投稿できます。

※ 同じブラウザから投稿を削除できます。

0

読み込み中...

次の記事へ前の記事へ

関連する記事

タグ「フロントエンド」の記事

写経テストコードを全部消した

以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。 "こぶりー" ( https://kobliy.vercel.app/ ) という個人ブログを読むアプリのコードです。 https://silverbirder.gi

2026年06月08日

AI
フロントエンド
テスト
念の為に、手動確認をしよう

最近のお悩みは、Webのソフトウェア開発におけるテストコードが爆増したことにより、 テスト成功による過度な安心感 によって手動確認するのが減っているのかもと思ったりしています。 例えば、Webのフォーム画面に小さな改修があったとして、その修

2026年06月03日

AI
フロントエンド
モバイルアプリからPWAアプリへ切り替え

以下で書いた個人ブログを読むアプリ(個人ブログライブラリ、略して "こぶりー" )をモバイルアプリで開発していました。 https://silverbirder.github.io/blog/contents/20260419/ 審査関連で

2026年05月11日

フロントエンド

タグ「開発ツール」の記事

こぶりーに、ブログ記事を共有しやすくなりました!

個人ブログを、見つけて、読んで、シェアするアプリ、こぶりーの使いやすくなりました! https://kobliy.vercel.app 個人ブログの記事をタップし記事を読み終わると、 「わかるー!」 「クスッとした」 「めっちゃいいやん」

2026年06月06日

開発ツール
Google Map タイムラインデータをなんとかしたい

以下の記事で書いた通り、Google Map のタイムラインデータが7年分消失しました。 https://silverbirder.github.io/blog/contents/20251123/ こういう経験をすると、データを所有したい

2026年02月28日

開発ツール
Disqusに広告が表示されるようになった

ブログ記事のページ下部に、Disqusを設置しています。 急遽、Disqusの上下に良くわからない広告が大量に表示されるようになりました。 Disqusのメール メールボックスを漁ってみると、以下のメールがありました。 Disqusからのメ

2026年02月06日

開発ツール
← ブログ一覧へ