A configuração do executor (laucher) com depuração é exatamente o mesmo utilizado na execução, portanto, para configurá-la utilize as instruções contidas em "Compilação de arquivos e projetos".
NOTA : Se você já efetuou a configuração do executor, já possuirá a mesma configuração para a depuração.
Para demonstrar o uso do depurador, usaremos o programa abaixo. Sugerimos que o copie e cole em um novo arquivo-fonte Adv/PL.
user function calcFatorial()
local n
msgalert("Calculo de Fatoriais")
resultado := "Numero = Fatorial" + chr(13)
for n := 1 to 5 step 2
calcula(n*2)
next
msgAlert(resultado)
return
static function calcula(anNumber)
local x := anNumber
local total := 1
while (x > 1)
total := total * x
x--
end
resultado += str(anNumber,3) + " é "
resultado += transform(total, "@E 9,999,999,999")
resultado += chr(13)
return
Após a compilação do arquivo-fonte acima, execute-o acionando o botão "Executar" (se necessário configure um executor). Após encerrar a execução, terá algo semelhante a:
Tela 20: Programa sugerido para depuração
Com o editor ativo (a aba fica destacada), acione Ctrl+F10 e ative a numeração de linhas.
Tela 21: Menu de opções do editor (Ctrl + F10)
Efetue um duplo-click sobre o número "6" (linha 6). Repare que na barra cinza do lado esquerdo, aparece uma marca azul. Esta marca indica um ponto de parada (breakpoint). Quando iniciarmos a depuração, o depurador para a execução nos pontos de parada e aguarda instruções do desenvolvedor.
Tela 22: Ponto de parada definido na linha 6
Inicie o depurador, acessando o botão de menu suspenso "Depurar" e selecione o executor.
Tela 23: Disparando o depurador
Aguarde alguns instantes e lhe será solicitado o programa inicial.
Tela 24: Informe o programa inicial
Informe o programa inicial e confirme, obtendo algo semelhante a:
Tela 25: Programa "calcFatorial" iniciado
Acione "OK". Devido ao ponto de parada definido (Tela 22), o depurador será selecionado. A perspectiva atual, _TOTVS Developer, não é a mais indicada para depuração. Por isso, você será convidado a trocá-la para a perspectiva TOTVS Debuger (Tela 26).
Tela 26: Convite para trocar a perspectiva atual para a de depuração
Aceite a troca e a perspectiva de depuração lhe será apresentada.
Tela 27: Perspectiva de depuração (debug) Na perspectiva de depuração (debug), temos:
Visão "debug" (Tela 27 A) – apresenta a pilha de execução, indicando o "caminho" efetuado até chegar ao ponto de parada. Também temos a barra de ferramentas desta visão, com as funcionalidades:
Tela 28: Barra de ferramentas da visão debug
- Remove histórico de execução já finalizadas;
- Continua a execução até encontrar novo ponto de parado ou o término do programa;
- Pausa a execução;
- Encerra a execução;
- Executa um passo, se for chamada de método ou função, para na primeira instrução desta;
- Executa um passo, se for chamada de método ou função, execute-a sem parar dentro desta;
- Executa até finalizar (retornar) do método ou função.
- Visão breakpoints (Tela 27 B) - apresenta a lista de pontos de paradas definidos. Também temos a barra de ferramentas desta visão, com as funcionalidades:
Tela 29: Barra de ferramentas da visão breakpoints
- Remove os pontos de parada selecionados;
- Remove todos;
- Abre e posiciona-se no arquivo-fonte associado;
- Ignora todos os pontos de parada.
- Abas informativas (Tela 27 C) -diversas visões de apoio ao depurador.
Tela 30: Abas informativas com visões de apoio ao depurador - Tabela de dados -apresenta as tabelas abertas durante o processamento;
Tela 31: Visão Tabela de Dados - Adv/PL Commands – permiti ao desenvolvedor executar comandos Adv/PL em tempo de execução com resposta imediata;
Tela 32: Visão Adv/PL Commands - Variables – permiti verificar os valores das variáveis declaradas;
Tela 33: Visão Variáveis
Através da barra de ferramentas, desta visão, você pode configurar a visibilidade, baseada em escopo, de quais variáveis serão apresentadas.
- Expressions – permiti definir expressões que são avaliadas a cada passo.
Tela 34: Visão Expressão
Neste momento, estamos parados na linha 6 do calcFatorial. Acione F5 para executar um passo.
Tela 35: Perspectiva de depuração, após avançar um passo
Repare que na linha 8, do lado esquerdo há uma pequena seta azul, indicando a próxima linha a ser executada. Acione F5, até que você entre na função "calcula", tendo algo semelhante a:
Repare, que a visão Variáveis teve seu conteúdo atualizado. Estando dentro de um método ou função, se você acionar F7 a execução prosseguirá, parando somente quando sair do método ou função. Neste exemplo, o depurador vai executar toda a função "calcula", pararando somente na linha 10 (logo após a chamada).
Tela 36: Depurando a função calcula
Você também pode adicionar pontos de parada a qualquer momento, efetuando um duplo-click sobre o número da linha. Faça isso na linha 26.
Tela 37: Adicionado um ponto de parada na linha 26
Acionando F8 (continuar execução), o processamento irá ser executado até o próximo ponto de parada. Acione o F8 para continuar a execução e ao final obterá algo semelhante a:
Tela 38: Tela final do calcFatorial
Para retornar a perspectiva de desenvolvimento selecione-a na área de seleção de perspectivas (Tela 10 C).