Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

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

Painel de Avaliação de métodos  


 

 

O Painel de Avaliação de métodosPainel de Avaliação de métodosPainel de Avaliação de métodosmostra 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). 
  • 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.

Nota: Como padrão, a linha de contador do programa (também chamada de running line - linha de execução) está destacada no  debugger. É possível personalizar a cor de ressalte em Página Métodos das Preferências.

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 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 Executar e Sair.
  • Se você tiver uma chamada TRACE colocada em algum ponto, você pode clicar no botão No Trace, que continua a execução até que a invocação de comando.

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 TRACE 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 Sem 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 Sem 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.

A lista de pontos de ruptura se armazena localmente. No modo de depuração remota, se o depurador adjunto for um 4D remoto, a lista de pontos de ruptura remotos substitui temporariamente a lista de pontos de ruptura do servidor durante a sesão de depuração.

A lista de pontos de ruptura do servidor se restaura automaticamente se voltar a ser o depurador adjunto.

O menu contextual de Painel de Avaliação de métodos dá acesso a várias funções que são úteis durante a execução de métodos em modo de controle:

  • Ir a definição: permite aceder à definição do objeto selecionado. Este comando está disponível para os seguintes objetos:
    • Métodos projeto: mostra o conteúdo do método numa nova janela do Editor de métodos.
    • Campos: mostra as propriedades do campo no inspetor da janela de estrutura.
    • Tabelas: mostra as propriedades da tabela no inspetor da janela da estrutura.
    • Formulários: a forma Mostra no editor de formulários.
    • Variáveis (local, processo, entre processos ou parâmetro $n):mostra a linha de declaração da variável no método atual ou entre os métodos de compilador onde a variável é declarada.
  • Procurar referências (também disponível no editor de métodos): procura todos os objetos da base (métodos e formulários) na que o elemento atual é referenciado. O elemento atual é o elemento selecionado ou o elemento no qual se encontra o cursor. Este pode ser o nome de um campo, variável, comando, corrente, etc. O resultado da busca mostra-se numa nova janela de resultados regulares.
  • Copiar: copia padrão da expressão selecionada a área de transferência.
  • Copiar no painel de expressão: copie a expressão selecionada em Painel de avaliação.
  • Ir ao cursor: executa a instruções entre o contador de programa (seta amarela) e a linha selecionada do método (onde se encontra o cursor).
  • Definir seguinte instrução: move o contador do programa até a linha selecionada sem executar esta linha ou as linhas intermédias A linha designada só se executa se o utente faz clique num dos botões de execução.
  • Alternar ponto de interrupção (também disponível no editor de métodos): permite alternativamente inserir ou eliminar o ponto de interrupção correspondente à linha selecionada. Esta função modifica o ponto de interrupção permanente: por exemplo, se elimina um ponto de interrupção no depurador, já não aparece no método original.
  • Editar ponto de interrupção (também disponível no editor de métodos): mostra a caixa de diálogo de definição de propriedades do ponto de interrupção. Esta função modifica o ponto de interrupção permanente.

os acessos diretos específicos lhe permitem encontrar strings idênticas à selecionada:

  • utilize Ctrl+E (Windows) ou Comando+E (macOS) para encontrar as seguintes strings idênticas
  • utilize Ctrl+Mayús+E (Windows) ou Comando+Mayús+E (macOS) para encontrar strings idênticas anteriores.

A pesquisa é realizada só se tiver sido selecionado ao menos um caractere no painel Código fonte.



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: Depurador

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

 
PALAVRAS CHAVES 

debugger source code pane

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)