[ADSI プログラミング デバッグ] やっぱり VBScript がいい !! という方へ – 2

こんにちは、ILM 一家のパパ(お父さん)です。

ILM 一家では、私と息子(ぴろと) が肥満気味です。ILM 一家に導入したからだスキャンで体年齢を測ると、私が 実年齢+ 6歳、息子(ぴろと)が実年齢+12歳といった結果となります。機械が信じられず、何度計っても結果は同じです。買ってやったオーナに対して、本当に失礼な結果を返す機械です。仕方が無いので、近日、私はスポーツジムデビューする予定です。必ず、若返って(体年齢ですが)、この場で報告したいと思いますので、応援して下さい。

なお、この体年齢をチェックすると、お母さん(ういこさん)に毎回笑われます。彼女は実年齢-5歳だそうです。屈辱を払拭するためにも、同レベルにはなりたいものです。

さて、今回も前回(2/14)につづき、VBScript での動作トレース、デバッグ手法についてご紹介いたします。今回、2/9 の掲載させていただいた、Scriptデバッガをご案内します。

1. プログラム実行位置、変数値などの確認情報を Echo 出力する。

2. プログラム実行位置、変数値などの確認情報を FileSystemObject 等でログファイル出力する。

3. Script デバッガを使用して、動作 / 状態をトレースする。

ここで、一つ注意が必要なのですが、2/9 にも書かせていただいたとおり、Scriptデバッガは、リリース時期が古く、最新OS への対応を明記していません。また、動作に一部レジストリ変更が必要となります。残念ながら、ツールの使用方法/動作異常、レジストリ変更による動作環境への影響などは、サポート対象外となりますので、検証環境などを用意いただいた上で、自己責任にてお試し下さい。

なお、本掲載にあたり、Windows XP、Vista、Windows Server 2003 R2 では、動作を確認しましたが、Visual Studio 等の開発言語製品がインストールされている環境では、これらがデバッガとして関連付けられている可能性がありますので注意が必要です。

< 入手、インストール方法 >

Script デバッガ は以下サイトより、ダウンロード入手が可能です。

Windows Script Debugger

https://www.microsoft.com/downloads/details.aspx?FamilyID=e606e71f-ba7f-471e-a57d-f2216d81ec3d&displaylang=ja

このサイトより、scd10jp.exe をダウンロードいただき、インストール対象環境で ダブル クリックするとセットアップが開始されます。(Windows Vista では、管理者としてscd10jp.exe を実行する必要があります。)

既定では、” C:\Program Files\Microsoft Script Debugger” フォルダにインストールされます。

インストールが完了しましたら、インストーラの指示に従い OS を再起動してください。

< レジストリ設定 >

動作環境上の、既定の デバッガ として、Script デバッガを関連付ける必要があります。

本操作については、英語ですが以下サポート技術情報に記述されています。

How to debug Windows Script Host, VBScript, and JScript files

https://support.microsoft.com/kb/308364/en-us

なお、必要なレジストリ操作は以下となります。

1. ファイル名を指定して実行 で、Regedit.exe を実行する。

2. 以下レジストリ項目にScript デバッガ(msscrdbg.exe) をフルパス設定します。

[レジストリ項目]

HKEY_CLASSES_ROOT\CLSID\{834128A2-51F4-11D0-8F20-00805F2CD064}\LocalServer32

[レジストリ設定値]

  "C:\Program Files\Microsoft Script Debugger\msscrdbg.exe"

3. 以下レジストリ項目を、規定値 0 から、1 に設定変更します。

[レジストリ項目]

HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug

[レジストリ設定値]

  1

本設定変更後、OS 再起動は必要ありません。

念のため、レジストリは元に戻せるよう、旧値をメモなどに残していただくことをお勧めします。

<Script デバッガ起動操作 >

Script デバッガの起動は、Cscript,exe、Wscript.exe から行います。

コマンドプロンプトを開き、以下コマンドラインオプションを指定することで、Scriptデバッガに

スクリプト動作がアタッチされます。

  >Cscript.exe //x xxxxx.vbs

  >Wscript.exe //x xxxxx.vbs

本操作で以下のように、Script デバッガ が起動いたします。

前項の操作で、スクリプト先頭行で一時停止した状態で、Script デバッガが起動します。

[デバッグ]-[ステップ イン] メニューまたは、F8キー操作で、対象スクリプトがステップ実行されます。

Script デバッガを紹介いたしましたが、如何でしょうか。

懸念点は、やはり古いツールだと言う事につきます。簡単な操作では動いているように見えますが、やはり最新 OS で異常動作となる可能性は否定できないといったところです。

同じような、操作を行うものとして、Visual Studio の統合開発環境がございますが、2/9 にご紹介した、Visual Basic 2008 Express Edtion ではVBscript のデバッガアタッチが行えませんでした。製品版をお持ちの方は使用できる可能性がございますので、こちらにつきましては、機会がございましたら紹介させていただく予定です。

 

~ お父さんより ~