/ 流通システム部
システム開発ブログ
最近の記事
- ランタイムデザイナで.rpxファイルを編集する
- 【MTページ分割】各ページに「全xx件中 x件~x件」と表示させる
- 【Javascript】Firefoxで「window.close();」が効かないっ!
- 【Oracle】統計情報を手動で更新する
- ネットワークの『死活監視』Nagios と『リソース監視』Cacti
- 親画面のスクロール位置を保持する
- Subversionの履歴を保持したままリポジトリを移動するには
- Apacheのtimeoutの設定
- 【Apache】httpd.confを使用したアクセス制限
- MySQLでrootユーザーを使用してはいけない理由
カテゴリー
- JAVA (1)
- Movable Type (5)
- PHP (2)
- VBA (3)
- Webサイト構築・Web戦略 (9)
- Webサイト構築事例 (1)
- Windows (3)
- .NET (1)
- その他 (7)
- アクセス解析 (1)
- システム設計 (1)
- システム開発体制 (1)
- セキュリティ (4)
- データベース (5)
- プロジェクト管理 (1)
- 品質管理・テスト (1)
- 帳票 (1)
- 技術活用 (2)
部署
月別アーカイブ
- 2010年2月 (3)
- 2010年1月 (12)
- 2009年12月 (7)
- 2009年11月 (6)
- 2009年10月 (8)
- 2009年9月 (7)
- 2009年8月 (3)
- 2009年7月 (1)
- 2009年6月 (3)
- 2009年5月 (1)
- 2009年4月 (1)
- 2009年3月 (8)
- 2009年2月 (10)
- 2009年1月 (1)
- 2008年12月 (2)





流通システム部
便利になると、稚拙であってもそれなりの事が出来てしまうのだな、と実感しています。
何の話かといいますと、何気なく使っているデバッガの機能である「ステップ実行」、
これが使えないともう、なんというか、てんでダメになってしまうのです。
この機能をものすごく頼りにしていたという事を思い知らされました。
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でも可能なのだそうです。
さてその方法は?...次回に続きます。
他社のシステムも直します。資産を活かしてシステムリフォーム