はじめに
ASP.NET AJAX開発者がアプリケーションを効率よくデバッグしテストするために利用できるツールは数多くあります。たとえば、ASP.NET AJAXスクリプトライブラリには、アサーションを行ったりトレース操作を実行したりするのに使用できるデバッグ機能が用意されています。リクエストメッセージとレスポンスメッセージをインターセプトして表示し、データの問題の究明やAJAXのリクエストメッセージとレスポンスメッセージのサイズの監視を簡単に行うことのできるツールもいくつかあります。本稿では、Internet ExplorerとVisual Studioを使ってJavaScriptをデバッグする方法をいくつか紹介します。ここで紹介するものの他に、ASP.NET AJAXアプリケーションのデバッグプロセスの簡素化に役立つ、Firefoxで利用できるデバッグテクニックもあります。
JavaScriptのデバッグはなかなか難しい作業だという認識は以前からありましたが、これまで多くの開発者はアプリケーションの動作確認を主にアラート方式のデバッグで行っていました。幸いなことに、バージョン6以降のInternet Explorerには統合デバッグ機能が含まれており、これを使用すると、Visual Studio .NET 2005やMicrosoft Script Debuggerなどのデバッグツールでデバッグセッションを開始して、ASP.NET AJAXコードを1ステップずつ実行することができます(これについては以降のセクションで説明します)。Internet Explorerのデバッグ機能の活用方法を知れば、生産性を高め、バグやその他の問題を突き止めるための時間を大いに減らすことができます。
バージョン6以降のInternet Explorerのデバッグ機能は既定では無効になっていますが、[ツール]→[インターネットオプション]→[詳細設定]で有効にすることができます。そのためには、[詳細設定]タブで次の2つの項目をオフにする必要があります(オンになっているとデバッグができません)。
- スクリプトのデバッグを使用しない(Internet Explorer)
- スクリプトのデバッグを使用しない(その他)
さらに、これらの項目の付近にある[スクリプトエラーごとに通知を表示する]チェックボックスをオンにします。こうすると、ページ内でエラーが発生したときに通知を受けるようになります。このボックスをオンにしなければ、ブラウザの左下隅にアイコンが表示されますが、これをクリックしない限り、クライアントサイドのエラーが発生しても気づかない可能性があります。このチェックボックスをオンにすると、ブラウズする他の多くのWebサイトでエラーを見せられるという副作用があります。したがって、自分自身のアプリケーションをデバッグするとき以外はオフにしておくほうがよいかもしれません。
デバッグを有効にするためのInternet Explorerの[詳細設定]タブの設定を図1に示します。
Internet Explorerでデバッグを有効にすると、いろいろなテクニックを使ってASP.NET AJAXページをデバッグできるようになります。以降のセクションでは、これらのオプションについて説明していきます。