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
в инструкции (см. главу 3). Для примера рассмотрим WS-файл ForDebug.wsf, содержимое которого приведено в листинге П3.2.
Листинг П3.2. WS-файл для отладки в Microsoft Script Debugger
Имя: ForDebug.wsf
Описание: WS-файл для отладки в Microsoft Script Debugger
WScript.Echo("Это сообщение выведется до запуска отладчика");
debugger;
WScript.Echo("А это сообщение появится уже в отладчике");
Так как значение атрибута debug
равно true
, то оператор debugger
передаст управление отладчику, причем, в отличие от одиночного сценария, WS-файл можно запускать как с ключами //D
или //X
, так и без них.
Если же изменить в сценарии ForDebug.wsf инструкцию следующим образом:
то отладка будет отключена, причем независимо от использования ключей //D
и //X
при запуске сценария (это может понадобиться при эксплуатировании в рабочем режиме WS-файла, содержащего операторы debug
или Stop
).
Команды, имеющиеся в Microsoft Script Debugger, позволяют выполнять трассировку сценариев, просматривать список вызванных процедур или функций, анализировать и изменять значения переменных.
Читать дальше