IEでjavascriptのエラーをデバッグする方法


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

が、いつもどうやってインストールするのかを忘れてしまうのでメモ代わりに書いておきます。

コントロールバネルのプログラムの追加と削除からOfficeを選んで変更ボタンを押します。
20070319.012
メニューの中から機能の追加/削除を選んで次へを押します。
20070319.002
カスタムセットアップという画面が出てくるので、ここで忘れずにアプリケーションごとに指定してインストールにチェックを入れてください。これで個別のパッケージを選択することができるようになります。忘れずにチェックを入れたら次へを押します。
20070319.013
詳細なカスタマイズのツリーを、Office ツール/HTML ソース編集/Web スクリプト編集/Web デバッグ ツール とたどって、これをマイコンピュータから実行に変更して、更新ボタンを押すとインストールが始まります。
20070319.005
インストール後、今度はコントロールパネルのインターネットオプションで、ブラウズの中にあるスクリプトのデバッグを使用しないについているチェックを外して、スクリプトのデバッグを有効にします。
20070319.006
そしてIEを起動し、エラーの出るページにアクセスすると、デバッグするかどうかを訪ねるダイアログが出てくるようになります。ここではいを選べばデバッガが起動します。
20070319.014
そうすると、Visual Studio を使ったことがあるかたならばなじみのある下のようなウインドウが出てきます。フレームのスタックというセレクトメニューから関数のコールスタックを見ることができ、Ctrl+Alt+L, Vでローカル変数ウインドウを表示させると、その関数のスコープでの変数の値を見ることができます。任意の名前の変数の値が見たいときには、Ctrl+Alt+Wでウォッチウインドウを開いて、変数名を入れることで値を確認できます。

20070319.017

参考

  • IEBlog : Scripting Debugging in Internet Explorer
  • HOW-TO: Debug JavaScript in Internet Explorer

補足

はてなブックマークのコメントで、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で確認。別途スクリプトエディタも必要なのかもしれませんが未確認です)

tags

  • IE
  • debug
  • javascript
  • 「IEでjavascriptのエラーをデバッグする方法」のはてなブックマーク数
  • 「IEでjavascriptのエラーをデバッグする方法」deliciousブックマーク数
  • 「IEでjavascriptのエラーをデバッグする方法」をはてなブックマークに追加
  • save "IEでjavascriptのエラーをデバッグする方法" to del.icio.us
  • 「IEでjavascriptのエラーをデバッグする方法」をリアルタイムブログ検索
  • permalink
  • FirefoxのHTMLパーサを使って壊れたHTMLを修復する PHP extension
  • Tumblr 小さくてきれいなブロギングツール

comments

TypeKey Enabled
スタイル用のHTMLタグが使えます。
*required

trackbacks

トラックバック元エントリにこのエントリへのリンクがない場合はトラックバックを受け付けません。

http://labs.gmo.jp/mt/mt-tb.cgi/110
©2010 Kentaro Kumagai, GMO Internet Labs., GMO Internet, inc.
bits and bytes
2007 .03. 19 18:42

tagcloud

  • API1
  • C/C++2
  • E4X1
  • FUSE2
  • Firefox24
  • HTML4
  • IE1
  • MySQL1
  • OSX4
  • Opera2
  • PHP4
  • UI2
  • XML1
  • XPCOM4
  • XPath4
  • apache2
  • binary2
  • book1
  • data13
  • debug5
  • design1
  • experiments3
  • extension13
  • google gears1
  • google maps API1
  • greasemonkey4
  • httpd5
  • javascript19
  • linux1
  • logging2
  • mobile3
  • perl4
  • tips5
  • tool11
  • vim2
  • visualization3
  • widget1
  • wii2
  • windows7
  • サービス7
  • 和訳1

Archives

  • 2008.04 (3)
  • 2008.03 (4)
  • 2008.02 (6)
  • 2008.01 (3)
  • 2007.12 (4)
  • 2007.11 (5)
  • 2007.10 (4)
  • 2007.09 (4)
  • 2007.08 (4)
  • 2007.07 (8)
  • 2007.06 (7)
  • 2007.05 (4)
  • 2007.04 (5)
  • 2007.03 (6)
  • 2007.02 (4)
  • 2007.01 (6)

about

  • bits and bytesのXML
  • 「bits and bytes」のCreative Commons
  • Powered by Movable Type
  • イベントと地図 - モグ
  • Use ecto to blog!
  • bits and bytesのはてなブックマーク数
  • bits and bytesをMy Yahoo!に追加
  • Subscribe with Bloglines