Серия лекций ASP (семнадцать) Отладка сценариев ASP
Автор:Eve Cole
Время обновления:2009-05-30 19:58:42
Независимо от того, насколько сложны ваши планы и опыт, ошибки сценариев (ошибки) могут в первую очередь помешать правильной работе серверных сценариев ASP. Другими словами, отладка, то есть поиск и исправление ошибок сценария, очень важна для разработки успешной и надежной программы ASP.
Средство отладки сценариев Microsoft
Microsoft® Script Debugger — это мощный инструмент отладки, который помогает быстро находить ошибки и интерактивно тестировать серверные сценарии. Отладчик сценариев работает с Windows Internet Explorer версии 3.0 или более поздней. С его помощью вы можете:
Запустите серверный скрипт построчно.
Откройте командное окно, чтобы отслеживать значение переменной, свойства или элемента массива во время выполнения серверного сценария.
Установите флаг паузы в определенной строке, чтобы приостановить серверные сценарии (с помощью инструментов отладки или команд сценария).
Отслеживайте процесс во время выполнения серверного сценария.
Примечание. Для просмотра сценария и поиска ошибок можно использовать средства отладки, но нельзя редактировать сценарий напрямую. Для исправления ошибок необходимо отредактировать скрипт в редакторе, сохранить его, а затем запустить скрипт.
(Эта функция недоступна в Windows 95 и более поздних версиях.)
Включение отладки Прежде чем приступить к отладке серверных сценариев, необходимо сначала настроить веб-сервер для поддержки отладки ASP.
После включения отладки веб-сервера вы можете использовать любой из следующих методов для отладки сценариев:
Вручную откройте отладчик сценариев Microsoft и выполните отладку серверного сценария ASP.
Используйте Internet Explorer для запроса файла .asp. Если файл содержит ошибки или искусственно добавленные инструкции остановки выполнения, отладчик сценариев Microsoft автоматически запускается, отображает сценарий и указывает источник ошибки.
Ошибки сценариев При отладке серверных сценариев вы можете столкнуться с различными типами ошибок. Некоторые из этих ошибок препятствуют правильному выполнению сценария, вызывая остановку выполнения программы или возврат неверных результатов.
Синтаксические ошибки Синтаксические ошибки — это часто встречающиеся ошибки, вызванные неправильным синтаксисом сценария. Например, неправильно написанная команда или неправильные параметры, переданные функции, вызовут ошибку. Синтаксические ошибки могут помешать запуску вашего скрипта.
Ошибки выполнения Ошибки выполнения возникают из-за того, что инструкции сценария пытаются выполнить невозможные действия во время выполнения сценария. Например, следующий скрипт содержит функцию деления на ноль (недопустимая математическая операция), которая создаст ошибку времени выполнения:
<язык сценариев = "VBScript" runat = сервер>
Результат = Найтиответ(15)
document.write ("Ответ: " &Result)
Функция Найтиответ(x)
«Этот оператор генерирует ошибку во время выполнения.
Найтиответ = x/0
Конечная функция
</скрипт>
Ошибки, вызывающие ошибки во время выполнения, необходимо исправить, чтобы сценарий не прерывался во время его работы.
Логические ошибки Логические ошибки часто могут быть скрытыми и их трудно обнаружить. Если имеются логические ошибки, вызванные ошибками ввода или неправильным выполнением логики программы, сценарий может работать успешно, но давать неправильные результаты. Например, серверный скрипт, планирующий сортировку списка значений, вернет неправильные результаты сортировки, если для сравнения значений вместо символа «>» используется символ «<».
Методы отладки ошибок Для поиска источника ошибок и тестирования приложений можно использовать ряд различных методов отладки.
Своевременная отладка (JIT). Когда ошибка во время выполнения прерывает выполнение сценария ASP, автоматически запускается отладчик сценариев Microsoft, отображает файл .asp, указывает указатель инструкции на строку, вызвавшую ошибку, и генерирует сообщение об ошибке. Этот тип отладки называется JIT-отладкой, при которой компьютер приостанавливает выполнение программы. Вы должны использовать программу редактирования, чтобы исправить эти ошибки, сохранить исправления, а затем снова запустить сценарий.
Отладка по точкам останова. Когда возникает ошибка и трудно найти источник ошибки, вы можете использовать метод отладки с предустановленными точками останова. Точки останова приостанавливают выполнение сценария на определенной строке. Вы можете установить одну или несколько разных точек останова в проблемных точках скрипта, а затем использовать отладчик для исправления значений переменных или свойств, установленных в скрипте. После исправления этих ошибок вы можете очистить точки останова, чтобы сценарий работал бесперебойно.
Используйте отладчик сценариев Microsoft, чтобы открыть сценарий и установить точки останова. Затем запросите этот сценарий в своем веб-браузере. Когда в сценарии выполняется строка, содержащая точку останова, компьютер запускает отладчик сценария, и указатель инструкции указывает на строку, в которой установлена точка останова.
Отладчик операторов Stop VBScript. Вы также можете добавить точки останова в серверные сценарии, написанные на VBScript, вставив оператор Stop перед проблемной частью серверного сценария. Например, следующий сценарий ASP содержит оператор Stop, позволяющий приостановить выполнение перед отображением результатов:
<%
дневное значение = 3
TheDay = WeekDayName(дневное значение)
Stop 'установить здесь точку останова.
Response.Write("Сегодня " + TheDay)
%>
Когда вы запрашиваете предыдущий сценарий, используемый веб-браузером, отладчик запускается и автоматически отображает файл .asp, а указатель инструкции указывает расположение инструкции остановки. Всегда не забывайте удалять инструкцию Stop из доставленного файла .asp.
Отладка с помощью операторов отладчика JScript. Чтобы добавить точки останова в серверные сценарии, написанные на Microsoft® JScript, вставьте оператор отладчика перед рассматриваемой строкой. Например, следующий сценарий содержит оператор отладчика, который прерывает выполнение и автоматически запускает отладчик сценариев Microsoft каждый раз, когда сценарий переходит к новому значению.
<%@ Language="JScript" %>
<%
for (var count = 1; count <= 10; count++) {
вар eventest = count%2;
отладчик // Устанавливает точку останова
если (ивентест == 0) {
response.write("Четное значение равно " + count + "<br>")
}
}
%>
Не забудьте удалить инструкции отладчика из доставленного файла .asp.
Примечание. Не путайте операторы отладчика с операторами прерывания JScript. Во время выполнения программы оператор прерывания только выходит из текущего цикла и не активирует отладчик сценариев Microsoft или не приостанавливает выполнение программы.
Методы отладки скриптов Помимо отладчиков скриптов, хороший набор методов отладки также может сократить время, затрачиваемое на анализ источника ошибок скрипта. Хотя большинство ошибок вызвано очевидными причинами, неправильным написанием команд или отсутствием переменных, некоторые типы логических ошибок и ошибок выполнения также могут быть вызваны менее очевидными причинами.