■JavaScriptのデバッグ■

■デバッグとは■

プログラマが人間である以上,作成されたプログラムには必ずどこかに間違いが潜んでいる.プログラムの間違いを探し出して修正する作業のことを,「デバッグ作業」と呼ぶ.これは,プログラムの間違いのことを,俗にバグ(虫)と呼ぶため,「虫の駆除」にたとえられたためである.

■デバッガなどツールの利用■

デバッグ作業を補助してくれるツールが,「デバッガ」と呼ぶプログラムである.あくまで作業の補助的なツールであるため,自動的にバグを探し出してはくれないが,デバッグ作業の効率を高めてくれる.

■ツールによる文法のチェック■

■JavaScriptコンソールの使い方■

Firefoxの初期状態では,本格的なデバッガは導入されていないが,JavaScriptやスタイルシート(css)の文法ミスをチェックするための「JavaScriptコンソール」は使用できる.

JavaScriptコンソールは次のように使用する.

  • デバッグ対象のページを読み込む(直接ローカルファイルを開いてもよい)
  • 「ツール(T)」→「JavaScriptコンソール(C)」
  • 開いたコンソールの右端の「すべて」をクリックして表示
  • 表示された書くエラーの下に表示されているURLをクリックすると該当箇所 を表示できる

■デバッガによる動作のデバッグ■

■JavaScript用デバッガFireBugの導入■

JavaScriptコンソールで表示されるのは,文法ミスなどの形式的な誤りだけである.文法ミスをすべて修正して何もエラーが表示されなくなったとしても,バグがないことを示すものではない.プログラムのバグには,文法が正しくても,書かれた内容が間違っている(記述された動作が違っている)ことがほとんどである.デバッグは,文法ミスの修正が終わってからが本番の作業でなる.

Firefox1.5以降では,JavaScript用のデバッガとしてFireBugと呼ばれるツールが拡張機能として提供されている.

インストール手順は,次の通り

  1. Firefoxを起動
  2. 次のサイトにアクセス
  3. そのページの真ん中あたりにある「Install Now(106KB)」をクリック
  4. 「署名がありません」といわれるが,しばらくまって一番下の「インストール」をクリック
  5. Firefoxを再起動

■FireBugの使い方■

FireBugは,Firefoxのウィンドウ右下隅にある小さなアイコンをクリックするか,「表示(V)」→「FireBug」を選択すると,ウィンドウの下半分に表示される.基本的な使い方は次の流れに従う

  1. 3つのタブのうち「Debugger」を選択
  2. 表示されたプログラムリストのうち,動作を確認したい場所の行番号をクリックして赤丸をつける.この赤丸は「ブレークポイント」を示す.
  3. 実行を開始する.ブレークポイントまで実行が進み,そこで実行が一時停止される.
    • 左下のPause/lContinueボタンで実行の中断・再開を切り替える
    • JavaScriptの実行に必要なら,自分で作成したボタンやフォームなども操作する
  4. そこで,左下のStepOver,StepInto,StepOut,ボタンを使って少しずつ実行を進める.
    • StepOverボタン…一行分だけ実行する.もしも関数呼び出しの場合,その関数をまとめて実行して次の行へ.
    • StepIntoボタン…一行分だけ実行する.もしも関数呼び出しの場合,その関数の中に入り,関数の中の一行目を実行する.
    • StepOutボタン…今何か関数の中を実行している場合,その関数の最後まで実行を進める.
  5. 適宜変数の中身を調べて,問題ないかどうか確認する.
    • 画面右下に,現在の変数の値が表示されている.

まず,プログラムの動きや変数の値がどのように変化していくのか,自分の頭の中で考えてみて,次のプログラムの動きをデバッガを使って一つ一つ確かめていく.自分の想像した通りに実行の進まない箇所,予想した変数の値と違う値に設定されている場所が,バグの場所である.その部分を修正して,すべての動作が,自分の想像通りになった時が,デバッグの終了であり,プログラムの完成となる.