Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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


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: _

Image Added
                             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.

Image Added
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.

Image Added
_                                Tela 22: Ponto de parada definido na linha 6

_Inicie o depurador, acessando o botão de menu suspenso "Depurar" e selecione o executor.

Image Added
_                                           Tela 23: Disparando o depurador

_Aguarde alguns instantes e lhe será solicitado o programa inicial. _

Image Added
                           Tela 24: Informe o programa inicial

_Informe o programa inicial e confirme, obtendo algo semelhante a:

Image Added
                                       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).

_Image Added
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.
Image Added
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:
Image Added

...

                             Tela 28: 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 27 B) - apresenta a lista de pontos de paradas definidos. Também temos a barra de ferramentas desta visão, com as funcionalidades:

Image Added

Tela 29: Barra de ferramentas da visão breakpoints

...

  • Abas informativas (Tela 27 C) -diversas visões de apoio ao depurador.
    Image Added
                           Tela 30: Abas informativas com visões de apoio ao depurador

  • Tabela de dados -apresenta as tabelas abertas durante o processamento;

    Image Added
                                                 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;
    Image Added
                                             Tela 32: Visão Adv/PL Commands
  • Variables – permiti verificar os valores das variáveis declaradas;

...


  • Image Added

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

Image Added

                                                             Tela 34: Visão Expressão
Neste momento, estamos parados na linha 6 do calcFatorial. Acione F5 para executar um passo.

Image Added

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 Tela 36: Depurando a função calcula funçãoou  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).

Image Added

                                   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.

Image Added
_                       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: _

Image Added
                                    Tela 38: Tela final do calcFatorial

_Para retornar a perspectiva de desenvolvimento selecione-a na área de seleção de perspectivas (Tela 10 C).