Árvore de páginas

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 AdvPL.
 

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

 

  1. Remove histórico de execução já finalizadas;
  2. Continua a execução até encontrar novo ponto de parado ou o término do programa;
  3. Pausa a execução;
  4. Encerra a execução;
  5. Executa um passo, se for chamada de método ou função, para na primeira instrução desta;
  6. Executa um passo, se for chamada de método ou função, execute-a sem parar dentro desta;
  7. 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

  1. Remove os pontos de parada selecionados;
  2. Remove todos;
  3. Abre e posiciona-se no arquivo-fonte associado;
  4. Ignora todos os pontos de parada.
  • Abas informativas (Tela 65 ) -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
  • AdvPL Commands – permite ao desenvolvedor executar comandos AdvPL em tempo de execução com resposta imediata;
     
                                                Tela 67: Visão AdvPL 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).

 

 

  • Sem rótulos