4D v12.4

Painel de Avaliação de métodos

Página Inicial

 
4D v12.4
Painel de Avaliação de métodos

 

Painel de Avaliação de métodos  


 

 

Painel de Avaliação de métodos mostra o código fonte do método que está sendo rastreado.

Se o método for muito longo para caber na área de texto, você pode rolar para ver outras partes do método

Movendo o ponteiro do mouse sobre qualquer expressão que possa ser avaliada (campo, variável ponteiro, array,...) uma dica mostrará o valor atual do objeto ou da expressão e seu tipo declarado.

Aqui está um exemplo do Painel de Avaliação de métodos:

Uma dica é exibida porque o ponteiro do mouse estava sobre a variável pTabela que, de acordo com a dica, é um ponteiro para a tabela [Clientes].

Você também pode selecionar uma parte do texto na área que exibe o código que está sendo executado. Neste caso, quando o cursor é colocado em cima do texto selecionado, uma dica exibe o valor do objeto selecionado:

Quando você clica em um nome de variável ou campo, ele é automaticamente selecionado.

Dica: É possível copiar qualquer expressão selecionada (que pode ser avaliada) a partir do Painel de Avaliação de métodos para o Painel de avaliação. Você pode usar uma das seguintes formas:

  • simplesmente arrastando e soltando (clique sobre o texto selecionado, arraste e solte-o na área de avaliação).
  • clicando sobre o texto selecionado, mantendo a tecla Ctrl (Windows) ou Comando (Mac OS).
  • usando as teclas Ctrl+D (Windows) ou Comando+D (Mac OS).

Uma seta amarela na margem esquerda do painel de avaliação de métodos (ver figura acima) marca a linha seguinte, que será executada. Esta seta é chamada de contador do programa. O contador de programa indica sempre a linha que está prestes a ser executada.

Para fins de depuração, você pode alterar o contador do programa para o método estar no topo da cadeia de chamada (o método que está sendo executado). Para fazer isso, clique e arraste a seta amarela na vertical, a linha que você deseja.

AVISO: Use esse recurso com cautela!

Mover-se para a frente com o contador do programa NÃO significa que o depurador esteja executando as linhas que você pula. Da mesma forma, o contador de programa que se desloca para trás NÃO significa que o depurador está invertendo o efeito das linhas que já tenham sido executadas.

Movendo o contador de programa simplesmente informa o depurador para "prosseguir o rastreamento ou executar a partir daqui." Todas as configurações atuais, campos, variáveis e assim por diante não são afetadas pelo movimento.

Aqui está um exemplo para mover o contador de programa. Digamos que você está depurando o seguinte código:

  ` ...
 If(esta condição)
     FAZER ALGO
 Else
    FAZER OUTRA COISA
 End if
  ` ...

O contador de programa está definido para a linha If (Esta condição). Você passa uma vez e você verá que o programa move a linha de para FAZER OUTRA COISA. Isso é lamentável, porque você queria executar a outra alternativa do If. Neste caso, e desde que a expressão Esta condição não realizar operações que afetem os próximos passos na sua análise, basta mover o contador de programa de volta para a linha FAZER ALGO. Você pode agora continuar o rastreamento da parte do código em que você está interessado.

No processo de depuração, você pode ignorar a necessidade de rastreio de algumas partes do código. O depurador oferece várias maneiras para executar código até um certo ponto:

  • Enquanto no passo a passo, você pode clicar no botão Avançar, em vez de botão Botão Executar e Entrar. Isso é útil quando você não quer entrar em possíveis sub-rotinas ou funções chamadas na linha do contador do programa.
  • Se você, por engano, entrou em uma sub-rotina, você pode executá-la e voltar diretamente para o método chamador, clicando no botão Sair.
  • Se você tiver uma chamada TRACE colocada em algum ponto, você pode clicar no botão No Trace, que recomeça a execução até que a chamada TRACE.

Agora, digamos que você está executando o código a seguir, com o contador de programa na linha ALL RECORDS([EstaTabela]):

  ` ...
 ALL RECORDS([EstaTabela])
 $vrResult:=0
 For($vlRegistro;1;Records in selection([EstaTabela]))
    $vrResult:=Esta Função([EstaTabela]))
    NEXT RECORD([EstaTabela])
 End for
 If($vrResult>=$vrLimitValor)
  ` ...

Seu objetivo é avaliar o valor de $vrResult após o loop For tenha sido concluído. Como se demora algum tempo para a execução chegar a este ponto no seu código, você não quer abortar a execução em curso, em seguida, editar o método, a fim de inserir um traço da chamada antes da linha If ($vrResult....

Uma solução é percorrer o loop, no entanto, se a tabela [EstaTabela] tiver registros de centenas de registros, você vai passar o dia inteiro para essa operação. Neste tipo de situação, o depurador oferece Pontos de Interrupção. Você pode inserir Pontos de Interrupção, clicando na margem esquerda do Painel de Avaliação de métodos.

Por exemplo:
Clique na margem esquerda do Painel de Avaliação de métodos ao nível da linha If ($vrResult...:

Insere um Ponto de Interrupção para a linha. O Pontos de Interrupção é indicado por um ponto vermelho. Em seguida, clique no botão No Trace.

Este retoma a execução normal até a linha marcada com o Pontos de Interrupção. Essa linha não é executada, se você está de volta no modo de rastreamento. Neste exemplo, o loop inteiro tem sido consequentemente executado normalmente. Então, ao chegar o Pontos de Interrupção, você só precisa mover o botão do mouse sobre $vrResult para avaliar o seu valor no ponto de saída do loop.

Definir um Pontos de Interrupção além do contador de programa e clicar no botão No Trace permite que você pule partes do método que está sendo rastreado.

Nota: Você também pode definir Pontos de Interrupção diretamente no Editor de métodos 4D. Por favor, consulte a seção Ponto de Interrupção.

Um Ponto de Interrupção vermelho é um ponto de interrupção persistente. Uma vez que você criou, ele "permanece." Mesmo que você feche o banco de dados, em seguida, reabra-lo mais tarde, o Ponto de Interrupção estará lá.

Existem duas maneiras de eliminar um Pontode Interrupção persistente:

  • Se você estiver com isso, basta removê-lo clicando no marcador vermelho - O Pontos de Interrupção desaparece.
  • Se você não estiver com vontade, pode querer manter o Ponto de Interrupção. Você pode desativar temporariamente o Ponto de Interrupção editando-o. Isto é explicado na seção Ponto de Interrupção.

 
PROPRIEDADES 

Produto: 4D
Tema: Depurador

 
VER TAMBÉM 

Depurador
Painel de avaliação
Painel de expressão
Painel do canal de chamada
Ponto de Interrupção

 
PALAVRAS CHAVES 

debugger source code pane***