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
Nas configurações do launcher, existe a aba "source", nela você configura onde vai ser feita a busca dos arquivos no processo de debug.
Tela 54.1 : Aba Source
Para solucionar o problema de não identificação da linha corrente durante a depuração, ou de fontes duplicados, siga os passos a seguir:
1 - Marque a opção: "Search for duplicate source files on the path" (Tela 54.1 A).
2 - Selecione a opção "Default" (Tela 54.1 B) e clique em "Remover".(Tela 54.1 C)
3 - Adicione o diretório que você deseja que a busca seja feita, clicando em "Add..."(Tela 54.1 D)
Será apresentada a tela 54.2.:
Tela 54.2: Add Source.
4 - Selecione a opção "Projeto Totvs" (Tela 54.2 A) e depois clique em "OK"(Tela 54.2 B).
Marque o projeto desejado e prossiga.
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 55: Programa sugerido para depuração
Com o editor ativo (a aba fica destacada), acione Ctrl+F10 e ative a numeração de linhas.
Tela 56: 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 57: Ponto de parada definido na linha 6
Inicie o depurador, acessando o botão de menu suspenso "Depurar" e selecione o executor.
Tela 58: Disparando o depurador
Aguarde alguns instantes e lhe será solicitado o programa inicial.
Tela 59: Informe o programa inicial
Informe o programa inicial e confirme, obtendo algo semelhante a:
Tela 60: Programa "calcFatorial" iniciado
Acione "OK". Devido ao ponto de parada definido (Tela 60), 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 61).
Tela 61: Convite para trocar a perspectiva atual para a de depuração
Aceite a troca e a perspectiva de depuração lhe será apresentada.
Tela 62: Perspectiva de depuração (debug) Na perspectiva de depuração (debug), temos:
Visão "debug" (Tela 62 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 63: 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 64 B) - apresenta a lista de pontos de paradas definidos. Também temos a barra de ferramentas desta visão, com as funcionalidades:
Tela 64: 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 65 C) -diversas visões de apoio ao depurador. Caso a visão não esteja visível, acione menu "
Windows | Show View | Others...
" e localize a visão desejada.
Tela 65: Abas informativas com visões de apoio ao depurador - Tabela de dados -apresenta as tabelas abertas durante o processamento;
Tela 66: Visão Tabela de Dados - Adv/PL Commands – permiti ao desenvolvedor executar comandos Adv/PL em tempo de execução com resposta imediata;
Tela 67: Visão Adv/PL Commands - Variables – permiti verificar os valores das variáveis declaradas;
Tela 68: 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 69: Visão Expressão
Neste momento, estamos parados na linha 6 do calcFatorial. Acione F5 para executar um passo.
Tela 70: 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 71: 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 72: 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 73: Tela final do calcFatorial
Para retornar a perspectiva de desenvolvimento selecione-a na área de seleção de perspectivas (Tela 10 C).