Série de palestras ASP (dezessete) Depuração de scripts ASP
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:58:42
Não importa quão sofisticado seja seu planejamento e experiência, erros de script (bugs) podem impedir que os scripts do lado do servidor ASP sejam executados corretamente. Ou seja, a depuração, ou seja, encontrar e corrigir erros de script, é muito importante para o desenvolvimento de um programa ASP robusto e bem-sucedido.
Ferramenta de depuração de scripts da Microsoft
O Microsoft® Script Debugger é uma poderosa ferramenta de depuração que ajuda você a encontrar erros rapidamente e testar scripts do lado do servidor de forma interativa. O Depurador de Scripts funciona com o Windows Internet Explorer versão 3.0 ou posterior. Com ele você pode:
Execute o script do lado do servidor linha por linha.
Abra uma janela de comando para monitorar o valor de uma variável, propriedade ou elemento de matriz enquanto o script do lado do servidor está em execução.
Defina um sinalizador de pausa em uma linha específica para suspender scripts do lado do servidor (usando ferramentas de depuração ou comandos de script).
Acompanhe o processo enquanto executa um script do lado do servidor.
Observação Você pode usar ferramentas de depuração para visualizar o script e localizar erros, mas não pode editar o script diretamente. Para corrigir erros, você deve editar o script com um editor, salvá-lo e depois executar o script.
(Este recurso não está disponível no Windows 95 ou posterior.)
Ativando a depuração Antes de começar a depurar scripts do lado do servidor, você deve primeiro configurar seu servidor Web para suportar a depuração ASP.
Depois de ativar a depuração do servidor web, você poderá usar qualquer um dos métodos a seguir para depurar seus scripts:
Abra manualmente o Microsoft Script Debugger e depure o script ASP do lado do servidor.
Use o Internet Explorer para solicitar o arquivo .asp. Se o arquivo contiver erros ou instruções de interrupção de execução adicionadas artificialmente, o Microsoft Script Debugger será iniciado automaticamente, exibirá o script e indicará a origem do erro.
Erros de script Ao depurar scripts do lado do servidor, você poderá encontrar vários tipos de erros. Alguns desses erros impedem que o script seja executado corretamente, fazendo com que o programa pare de ser executado ou retorne resultados incorretos.
Erros de sintaxe Erros de sintaxe são erros encontrados com frequência causados por sintaxe de script incorreta. Por exemplo, um comando digitado incorretamente ou parâmetros incorretos passados para uma função gerarão um erro. Erros de sintaxe podem impedir a execução do seu script.
Erros de tempo de execução Os erros de tempo de execução são causados por instruções de script que tentam executar ações impossíveis durante a execução do script. Por exemplo, o script a seguir contém uma função que divide por zero (uma operação matemática ilegal), que gerará um erro de execução:
<linguagem de script = "VBScript" runat = servidor>
Resultado = Encontrar resposta (15)
document.write ("A resposta é" &Resultado)
Função Encontrarresposta(x)
'Esta instrução gera um erro em tempo de execução.
Encontrarresposta = x/0
Função final
</script>
Erros que causam erros em tempo de execução devem ser corrigidos para que o script não seja interrompido durante a execução.
Erros lógicos Os erros lógicos podem muitas vezes ser latentes e difíceis de detectar. Se houver erros lógicos causados por erros de digitação ou fluxo lógico incorreto do programa, o script poderá ser executado com êxito, mas produzir resultados incorretos. Por exemplo, um script do lado do servidor que planeja classificar uma lista de valores retornará resultados de classificação incorretos se o símbolo "<" for usado para comparar valores em vez do símbolo ">".
Técnicas de depuração de erros Diversas técnicas de depuração diferentes podem ser usadas para localizar a origem dos erros e testar aplicativos.
Depuração Just-In-Time (JIT) Quando um erro em tempo de execução interrompe a execução de um script ASP, o Microsoft Script Debugger é iniciado automaticamente, exibe o arquivo .asp, aponta o ponteiro da instrução para a linha que causou o erro e gera uma mensagem de erro. Esse tipo de depuração é chamado de depuração just-in-time (JIT), onde o computador pausa a execução do programa. Você deve usar seu programa de edição para corrigir esses erros, salvar as correções e, em seguida, executar o script novamente.
Depuração de ponto de interrupção Quando ocorre um erro e é difícil encontrar a origem do erro, você pode usar o método de depuração de pontos de interrupção predefinidos. Os pontos de interrupção pausam o script em uma linha específica. Você pode definir um ou mais pontos de interrupção diferentes nos pontos problemáticos do script e, em seguida, usar o depurador para corrigir os valores das variáveis ou propriedades definidas no script. Depois de corrigir esses erros, você poderá limpar os pontos de interrupção para que seu script seja executado sem interrupções.
Use o Microsoft Script Debugger para abrir o script e definir pontos de interrupção. Em seguida, solicite este script com seu navegador. Quando uma linha contendo um ponto de interrupção no script é executada, o computador inicia o depurador de script e o ponteiro da instrução aponta para a linha onde o ponto de interrupção está definido.
Depurador de instrução Stop do VBScript Você também pode adicionar pontos de interrupção a scripts do lado do servidor escritos em VBScript inserindo uma instrução Stop antes da parte problemática do script do lado do servidor. Por exemplo, o script ASP a seguir contém uma instrução Stop para pausar a execução antes de exibir os resultados:
<%
valor do dia = 3
TheDay = WeekDayName(valor do dia)
Pare de definir o ponto de interrupção aqui.
Response.Write("Hoje é " + TheDay)
%>
Quando você solicita o script anterior usado pelo navegador da Web, o depurador é iniciado e exibe automaticamente o arquivo .asp, e o ponteiro da instrução indica o local da instrução stop. Lembre-se sempre de remover a instrução Stop do arquivo .asp entregue.
Depuração com instruções do depurador JScript Para adicionar pontos de interrupção a scripts do lado do servidor escritos em Microsoft® JScript, insira uma instrução do depurador antes da linha em questão. Por exemplo, o script a seguir contém uma instrução de depurador que interrompe a execução e inicia automaticamente o Microsoft Script Debugger sempre que o script faz um loop para um novo valor.
<%@Idioma="JScript" %>
<%
for (var contagem = 1; contagem <= 10; contagem++) {
var eventotest = contagem%2;
depurador //Define o ponto de interrupção
if (evento == 0) {
response.write("O valor par é " + contagem + "<br>")
}
}
%>
Lembre-se de remover as instruções do depurador do arquivo .asp entregue.
Nota: Não confunda instruções do depurador com instruções break JScript. Durante a execução do programa, a instrução break apenas sai do loop atual e não ativa o Microsoft Script Debugger nem pausa a execução do programa.
Técnicas de depuração de script Além dos depuradores de script, um bom conjunto de técnicas de depuração também pode reduzir muito tempo gasto na análise da origem dos erros de script. Embora a maioria dos erros seja causada por causas óbvias, comandos com erros ortográficos ou variáveis ausentes, alguns tipos de erros lógicos e de execução também podem ser causados por causas menos óbvias.