Выбрать главу

Для получения списка параметров введенной ранее функции (метода объекта) нужно выделить в тексте название этой функции (метода) и выбрать пункт Parameter Info меню Edit (рис. П3.26).

Рис. П3.26. Параметры метода GetDrive()

Другие редакторы 

Упомянем еще несколько из множества редакторов, которые могут использоваться для создания и изменения сценариев WSH.

Script Editor — программа, входящая в состав Microsoft Office 2000/ХР. В ней имеется функция выделения цветом элементов JScript-, VBScript- и WS-сценариев, а также поддерживается автоматическое завершение ввода ключевых слов.

Aditor — условно-бесплатный редактор файлов текстового формата, который позволяет запускать изменяемые сценарии, не выходя из режима редактирования, а также поддерживает выделение цветом ключевых слов языков JScript и VBScript. Aditor можно загрузить с http://aditor.swrus.com/.

UltraEdit-32 — условно-бесплатный редактор текстовых файлов, обладающий, в целом, теми же возможностями, что и Aditor. Может быть загружен с http://www.ultraedit.com/.

Отладка сценариев в Microsoft Script Debugger

Если при выполнении сценариев возникают ошибки или получаются непредвиденные результаты, можно воспользоваться специальным отладчиком для трассировки сценария и проверки значений переменных. Мы в качестве такого отладчика рассмотрим программу Microsoft Script Debugger, версии которой для различных операционных систем можно бесплатно получить с сайта Microsoft (http://msdn.microsoft.com/scripting). Этот отладчик позволяет работать со сценариями, которые встроены в HTML- или ASP-файлы, а также со сценариями Windows Script Host.

Активизация отладчика

Активизировать отладчик при работе со сценариями можно несколькими способами.

Во-первых, внутри JScript- или VBScript-сценариев можно вставить специальные операторы (debugger для JScript и Stop для VBScript) и выполнить сценарий с параметром //D. Для примера рассмотрим сценарий ForDebug.js, содержимое которого приведено в листинге П3.1.

Листинг П3.1. JScript-сценарий для отладки в Microsoft Script Debugger

/*******************************************************************/

/* Имя: ForDebug.js                                                */

/* Язык: JScript                                                   */

/* Описание: Сценарий для отладки в Microsoft Script Debugger      */

/*******************************************************************/

var s;

function MyFunc() {

 WScript.Echo("Функция MyFunc()");

}

WScript.Echo("Это сообщение выведется до запуска отладчика");

debugger;

s="A это сообщение появится ";

s+="уже в отладчике";

WScript.Echo(s);

MyFunc();

/************* Конец *********************************************/

Запустим этот сценарий из командной строки следующим образом:

wscript.exe //D ForDebug.js

Тогда сначала нам будет выведено диалоговое окно со строкой "Это сообщение выведется до запуска отладчика", а после нажатия в этом окне кнопки OK запустится отладчик, и управление передастся ему (рис. П3.27). Далее выполнения сценария может производиться в отладчике (см. следующий раздел).

Замечание

Файл со сценарием в отладчике доступен только для чтения.

Рис. П3.27. Активизация отладчика с помощью параметра //D и специальных операторов

Второй путь активизации отладчика состоит в использовании параметра //X при выполнении сценария:

wscript.exe //X ForDebug.js

При этом отладчик запускается сразу, с первой строки сценария (рис. П3.28).

Рис. П3.28. Активизация отладчика с помощью параметра //Х

Режим отладки WS-файлов зависит от значения атрибута debug в инструкции <?job?> (см. главу 3).Для примера рассмотрим WS-файл ForDebug.wsf, содержимое которого приведено в листинге П3.2.

Листинг П3.2. WS-файл для отладки в Microsoft Script Debugger

<job id="Encoded">

 <?job debug="true"?>

 <runtime>

  <description>

  Имя: ForDebug.wsf

  Описание: WS-файл для отладки в Microsoft Script Debugger

  </description>

 </runtime>

 <script language="JScript">

 WScript.Echo("Это сообщение выведется до запуска отладчика");

 debugger;

 WScript.Echo("А это сообщение появится уже в отладчике");