FirefoxであればFirebugで簡単に問題の場所をみつけられますが、IEでjavascriptのエラーが出ると、素っ気ないうえに意味不明な日本語のエラーメッセージが出てきてお手上げなので、エラーが出ている場所の特定すら困難です。
そんなときでもOfficeについているスクリプトエディタ(前はスクリプトデバッガという名前だった気が....)を使うと、Visual Studioのデバッガとおんなじインターフェイスのデバッガを使ってjavascriptのエラーを出している場所をすぐに見つけることができます。Firebugと比べると極めて重たいですが、関数呼び出しをバックトレースすることもできますし、各スコープでの変数の値を調べることもできるので、これを使わない手はありません。
が、いつもどうやってインストールするのかを忘れてしまうのでメモ代わりに書いておきます。
- コントロールバネルのプログラムの追加と削除からOfficeを選んで変更ボタンを押します。

- メニューの中から機能の追加/削除を選んで次へを押します。
-

- カスタムセットアップという画面が出てくるので、ここで忘れずにアプリケーションごとに指定してインストールにチェックを入れてください。これで個別のパッケージを選択することができるようになります。忘れずにチェックを入れたら次へを押します。

- 詳細なカスタマイズのツリーを、Office ツール/HTML ソース編集/Web スクリプト編集/Web デバッグ ツール とたどって、これをマイコンピュータから実行に変更して、更新ボタンを押すとインストールが始まります。

- インストール後、今度はコントロールパネルのインターネットオプションで、ブラウズの中にあるスクリプトのデバッグを使用しないについているチェックを外して、スクリプトのデバッグを有効にします。

- そしてIEを起動し、エラーの出るページにアクセスすると、デバッグするかどうかを訪ねるダイアログが出てくるようになります。ここではいを選べばデバッガが起動します。

そうすると、Visual Studio を使ったことがあるかたならばなじみのある下のようなウインドウが出てきます。
フレームのスタックというセレクトメニューから関数のコールスタックを見ることができ、
Ctrl+
Alt+
L,
Vでローカル変数ウインドウを表示させると、その関数のスコープでの変数の値を見ることができます。任意の名前の変数の値が見たいときには、
Ctrl+
Alt+
Wでウォッチウインドウを開いて、変数名を入れることで値を確認できます。

参考
補足
はてなブックマークのコメントで、IE7ではスクリプトエディタではデバッグできないと
tsupoさんに教えていただいたので、IE7でのデバッグについて追記しておきます。
自分の環境ではIE7をインストールすると、スクリプトのデバッグを有効にしていても、デバッグしますかダイアログが出てこなくなってしまいました。そこで教えていただいた
AJAX : The Official Microsoft ASP.NET AJAX Site から ASP .NET 2.0 AJAX Extensions 1.0 というのをダウンロードしてインストールするとダイアログが出てくるようになり、デバッグすることができるようになりました。ありがとうございます。
ちなみにvistaにもとから入っているIE7は、この ASP .NET 2.0 AJAX Extensions 1.0 でスクリプトのデバッグを使用しないオプションが表示されるようになるものの、デバッガ起動のダイアログは表示されないままでした。(vistaRC1で確認。別途スクリプトエディタも必要なのかもしれませんが未確認です)
comments