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
Depurador

Depurador  


 

 

O termo depurador (debugger) vem do termo bug. Um bug em um método é um erro que você quer eliminar. Quando ocorre um erro, ou quando você precisa monitorar a execução de seus métodos, você pode usar o depurador. Um depurador ajuda você a encontrar bugs, permitindo-lhe percorrer lentamente os seus métodos e analisar informações sobre o método. Esse processo passo-a-passo através de métodos é chamado de depuração.

 

Você pode fazer com que a janela do depurador exibia e, em seguida, debugar os métodos das seguintes maneiras:

  • Clicando no botão Depurar na Janela de erro de sintaxe
  • Usando o comando TRACE
  • Clicando no botão de depuração na janela execução de método.
  • Pressionando Alt + Shift + botão direito do mouse (Windows) ou Control + Option + Comando +  clique (Macintosh) enquanto um método está executando, em seguida, selecionando o processo a ser rastreado no menu pop-up:

  • Clicar no botão Depurar quando um processo é selecionado na página do Processo do Explorador de execução.
  • Criando ou editando um break point na janela do editor de métodos, ou nas páginas de Quebra e Captura do Explorador de execução.

Nota: só usuários com privilégios de acesso de designer e os usuários que pertençam ao grupo que têm privilégios de acesso à estrutura podem depurar os métodos

.

A janela do depurador (local):

A janela do depurador (remota):

Você pode mover a janela de depuração e / ou redimensionar qualquer um dos seus painéis internos, conforme necessário. Exibir uma nova janela de depuração usa a mesma configuração (tamanho e posição da janela, colocação das linhas de divisão e conteúdo da área que avalia as expressões) como a última janela exibida na mesma sessão.

4D é um ambiente multi-tasking. Se você executar vários processos de usuário, você pode rastreá-los independentemente. Você pode ter uma janela de depurador aberta para cada processo.

A janela do depurador aparece na máquina onde o código é executado.

  • Com uma aplicacção mono usuário, sempre é mostrado na máquina de aplicação em execução.
  • Com uma aplicação cliente/servidor, se mostra em 4D remoto para o código que se executa localmente, e como padrão na máquina de servidor para o código que for executado no servidor (por exemplo, um método com a opção de execução no servidor). Se o servidor for executado headless( computadores sem monitores e outros periféricos), não se pode mostrar nenhuma janela de depuração no servidor.

    Entretanto, em aplicações cliente/servidor, é possível delegar a um 4D remoto específico a exibição do Debugger para código rodando no servidor. Isto é especialmente útil para aplicações de servidor que rodam headless.. Para fazer isto, em um 4D remoto conectado ao servidor, selecione o comando Attach Remote Debugger no menu Run:



    Também pode selccionar a opção Anexxar depurador remoto ao início se quiser depurar automaticamente o código de servidor no 4D remoto.

    Notas: 

A Barra de ferramentas de controle de execução localizada na parte superior da janela de Depurador, tem nove botões.

O rastreamento é interrompido e a execução recomeça normalmente com o método.

Nota: Shift + F5 ou Shift + clique no botão Sem Trace reinicia a execução. Ele também desativa todos os vestígios da chamadas subseqüentes para o processo atual..

A linha atual do método (a indicada pela seta amarela - chamada contador de programa) é executada, e o passo do depurador salta para a próxima linha. O botão Botão Executar Passo a Passo não entra em sub-rotinas e funções, fica ao nível do método que você está rastreando. Se você quiser também pode rastrear chamadas a sub-rotinas e funções, utilize o botão Executar e entrar.
 
Na depuração remota, quando a última linha do método é executada, se o método é executado no servidor, o método principal é chamado. Se o método principal for executado no lado remoto, o botão age da mesma forma que o botão Resumir.

Na execução de uma linha que chama outro método (subrotina ou função), este botão faz com que a janela do depurador mostre o método que está sendo chamado e lhe permita passar por esse método. O novo método torna-se o método (top) atual no da janela do depurador. Na execução de uma linha que não chama um outro método, este botão age da mesma forma como o botão Executar passo a passo.
 

Na depuração remota, ao executar a última linha do método, se o método for executado no servidor, se chama ao método pai. Se o método pai for executado no lado remoto, o botão atua da messma maneira que o botão Retomar.



Se você está traçado sub-rotinas e funções, clicando neste botão permite executar todo o método a ser seguido para voltar para o método chamador. A janela do depurador é trazida de volta para o método anterior na cadeia de chamada. Se o método atual é o último método na cadeia de chamada, a janela do depurador será fechada.

Na depuração remota, quando a última linha do método for executada, se o método for executado no servidor, o método  é chamado de método pai. Se o método pai funcionar no lado remoto, o botão age da mesma forma que o botão Retomar.





 

Na execução de uma linha que cria um novo processo (ou seja, chamando o comando New process), este botão abre uma janela de novo depurador que permite traçar o método do processo recém-criado. Na execução de uma linha que não cria um novo processo, este botão age da mesma forma como o botão Executar passo a passo.

O método é interrompido, e você volta para onde estava antes de começar a executar o método. Se você estava traçando um formulário ou a execução de um método de objeto, em resposta a um evento, ele é interrompido e volta para o formulário. Se você estava traçando um método de execução de dentro do ambiente do aplicativo, você retorna para o ambiente que estava.

O método é interrompido, como se você clicasse em Abortar. Além disso, 4D abre uma janela do Editor de método para o método que estava sendo executado no momento em que o botão Abortar e Editar foi clicado.

Conselho: Utilize este botão quando você souber que são necessárias alterações no código e quando estas mudanças forem necessárias para o exercício de análise dos seus métodos. Depois de terminar com as alterações, execute o método.

Clicando no botão Editar faz o mesmo que clicar no botão Abortar e Editar, mas não aborta a execução atual. O método de execução é interrompido nesse ponto. 4D abre uma janela do Editor de método para o método que estava sendo executado no momento que o botão Editar foi clicado.

Importante: Você pode modificar este método, no entanto, estas alterações não vão aparecer ou serem executados na instância do método a ser seguido na janela do depurador. Depois que o método foi interrompido ou completado com sucesso, as alterações aparecerão na próxima execução do método. Em outras palavras, o método deve ser recarregado assim suas modificações serão levadas em consideração.

Conselho: Utilize este botão quando você sabe que são necessárias alterações no código e quando elas não interferem no resto do código a ser executado ou rastreado.

Conselho: Métodos de Objeto são recarregados para cada evento. Se você estiver rastreando um método de objeto (ou seja, em resposta a um clique de botão), você não precisa deixar o formulário. Você pode editar o método de objeto, salvar as alterações, em seguida, voltar ao formulário e tentar novamente. Para rastrear/alterar os métodos de formulário, você deve sair do formulário e reabri-lo para recarregar o método do formulário. Ao fazer a depuração de uma forma ampla, um truque é colocar o código (que você está depurando) para um método de projeto que você usa como sub-rotina a partir de um método formulário. Ao fazê-lo, você pode ficar no formulário enquanto você depura, edita e testa novamente o formulário, porque a sub-rotina é recarregada a cada vez que é chamado pelo método do formulário.

Salva a configuração atual da janela de depuração (tamanho e posição da janela, colocando uma das linhas de divisão e conteúdo da área que avalia as expressões), de modo que ela será usado por padrão cada vez que o banco de dados for aberto. Esses parâmetros são armazenados no arquivo de estrutura do banco de dados.

 

Nota: Esta ação não está disponível no modo de depuração a distância (ver Depuração de Máquinas Remotas).

O depurador fornece as seguintes informações:

  • exibe no topo: o nome de método ou a classe, nome e protótipo da classe de função que está traçando atualmente
  • exibido em vermelho embaixo: a ção que causou o aparecimento da janela Debugger

Usando a janela de exemplo mostrada acima, as seguintes informações são exibidas:

  • O método Clients_BuildLogo  é o método que está sendo rastreado.
  • A janela do depurador apareceu porque ele detectou uma chamada para o comando C_PICTURE e esse comando foi um dos comandos a serem capturados.

Aqui estão as razões possíveis para o depurador aparecer e para a mensagem (exibida em vermelho):

  • Comando TRACE: Uma chamada para TRACE foi emitida.
  • Ponto de interrupção atingido: um ponto de interrupção foi encontrado.
  • Interrupção do usuário: Você usou Alt + Shift + clique com o botão direito (Windows) ou Control + Comando + Option + clique (Macintosh), ou você clicou no botão de rastreamento na página Processo do Explorador de execução.
  • Captura de uma chamada a Nome do comando: Uma chamada a um comando 4D para ser capturado está a ponto de ser executada.
  •  Passo a passo em novo processo: Você usou o botão Entrar no processo e esta mensagem é exibida na janela do depurador aberto para o processo recém-criado.

A janela do depurador consiste na barra de ferramentas de controle de execução descrita anteriormente e quatro painéis redimensionáveis:

Os três primeiros painéis usam listas hierárquicas fácil de navegar para mostrar informações de depuração pertinentes. O quarto, , exibe o código fonte do método que está sendo rastreado. Cada painel tem sua própria função de ajudá-lo em seus esforços de depuração. Você pode usar o mouse para redimensionar verticalmente e horizontalmente a janela do depurador e também de cada painel. Além disso, os três primeiros painéis incluem uma linha pontilhada de separação entre as duas colunas que eles exibem. Usando o mouse, você pode mover esta linha pontilhada para redimensionar as colunas horizontalmente, a sua conveniência.



Ver também 

Atalhos do depurador
Capturas de comandos
Janela de erro de sintaxe
Listas de ponto de interrupção
ON ERR CALL
Painel de avaliação
Painel de Avaliação de métodos
Painel de expressão
Painel do canal de chamada
Por que um depurador?
TRACE

 
PROPRIEDADES 

Produto: 4D
Tema: Depurador

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Modificado: 4D v18 R5

 
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)