システム開発ブログ/ 流通システム部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

できた!ASPサーバサイドデバッグ

ilovex
ilovex (2009年5月18日 09:31)
流通システム部

便利になると、稚拙であってもそれなりの事が出来てしまうのだな、と実感しています。
何の話かといいますと、何気なく使っているデバッガの機能である「ステップ実行」、
これが使えないともう、なんというか、てんでダメになってしまうのです。
この機能をものすごく頼りにしていたという事を思い知らされました。

ASP.NETではなく.NET以前の「ASP」の開発でちょっとはまってしまった時の事です。
.NET以前、VBScriptを用してASPの開発時のデバッグ方法といえば、ソースを読みまくるか、
DBやアプリケーションで出力しているログを読むか、「Response.Write」で何かしら出してみる等、解決にたどり着くまでに多くの時間を費やしてしまいます。
かつてPCがひとり1台ではなかった時代、社長の杉山はコードを紙に書いて、充分吟味された完璧なコードを作成していたそうです。
開発者であればそうあるべきですが、デバッグ実行になれたひ弱な私はそうも行かず、迫る納期に気持ちは焦るばかり。

せめて、ステップ実行できないか...?
以前小耳に挟んでいた、けどやったことはなかった「サーバサイドデバッグ」について調べてみました。

ASPサーバサイドデバッグのやり方

下準備

1:Microsoft Script Editer を使用する
デバッガは、Officeに添付されている「Microsoft Script Editer」を使用します。
Javascriptのエラーがあるページを読み込んでしまった場合、デバッグしますか?
 と聞かれた後に選択肢の一つとして表示されるツールがこれです。
Officeのインストールディレクトリの「MSE7.EXE」のショートカットを作成するなどして、
 簡単に起動できるようにしておきましょう。
<例>C:\Program Files\Microsoft Office\OFFICE11\MSE7.EXE
※MS-Office 2007 から、MS Script Editor は同梱されなくなりました。

2:インターネットオプション[詳細設定]にて、以下を設定する
 ブラウズ
  HTTP エラー メッセージを簡易表示する ⇒チェックOff
  (デバッグ実行とは無関係ですが、やはり詳細なエラーメッセージは見たいでしょう)
  スクリプトのデバッグを使用しない(Internet Explorer)⇒チェックOff
  スクリプトのデバッグを使用しない(その他)⇒チェックOff

3:IISのサイトのプロパティ設定でサーバサイドスクリプトを有効にする
 IIS管理で、サイトのプロパティダイアログから、「仮想ディレクトリ」⇒[構成]ボタンで
 「アプリケーションの構成」ダイアログを開き、 「デバッグ」タブを開き、以下を設定します。
 デバッグのフラグ
  ASPのサーバー側のスクリプトのデバッグを有効にする⇒チェックOn
   (クライアント側デバッグのチェックは特に必要なし)
 スクリプトのエラーメッセージ
  クライアントに詳細なASPのエラーメッセージを送る⇒こちらを選択
  (同じくデバッグ実行とは無関係)

それでは、サーバサイドデバッグを始めましょう。
デバッグしたいASPのアプリケーションをlocalhostで実行します。

1)デバッガを開く
 webアプリケーション実行中に、IEのメニューバーから[表示]-[スクリプトデバッガ]-[開く]
 をクリックすると、「Visual Studio Just-In-Time デバッガ」ダイアログが表示され、
 利用可能なデバッガを訊ねてくるので、
 「Microsoft Script Editer」を選択すると、Microsoft Script Editer が起動します。
 (ここで開かれるのは、クライアントサイドのコードです。Javascriptのステップ実行が可能です)
2)プロセスにアタッチする
 Script Editerのメニューバー[デバッグ]-[プロセス]又は[プロセス]ボタンをクリックし、
 「プロセス」ダイアログを表示し、 「選択可能なプロセス」の一覧から、
 タイトル「Microsoft Active Server Pages(aspsite(←仮想ディレクトリのアプリケーション名), ID)」
 を選択の上、[アタッチ(A)]ボタンをクリックします。
 「プロセスにアタッチ」ダイアログが表示されるので、ここはデフォルトのまま[OK]をクリックして
 「プロセス」ダイアログに戻ります。
 「デバッグされているプロセス」一覧にASPのプロセスが表示された事を確認の上、
 [閉じる]ボタンで「プロセス」ダイアログを閉じます。
 (「実行中のドキュメント」ウインドウが表示されていない場合、デバッグツールバーにボタンが
 あるのでクリックして表示させます。)
3) 実行中のドキュメント内にファイル名が一覧表示されるので、目的のaspファイル名をダブルクリックすると、コードウインドウ内に読み取り専用で読み込まれます。
 今まさにIIS上で実行されているコードなので、好きなところにブレークポイントを置く等のデバッグが可能です。
4)デバッグ実行を終えたいときは、メニューバー[デバッグ]-[すべてデタッチ]又は「プロセス」ダイアログからデタッチする必要があります。


使っていて気付いた注意点ですが、デタッチ後にIISの設定で、ASPのサーバー側スクリプトデバッグを有効にするチェックをOffに戻す必要があるようです。
デタッチしただけではプロセスが残ってしまうようで、アタッチ&デタッチを繰り返していたら、同時接続数をオーバーしたというメッセージが表示され、パフォーマンスが異常なくらい落ちました。

このASPプロセスにアタッチする方法、実は使い慣れたVisualStudio2005でも可能なのだそうです。
さてその方法は?...次回に続きます。

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。