No artigo de hoje, vamos demonstrar em como utilizar o Break Point condicional no VSCode com a extensão da TOTVS.
Se você já precisou depurar / debugar algum laço de repetição e gostaria que ele parasse somente quando determinada condição fosse verdadeira, saiba que existe esse recurso no VSCode, é o Break Point condicional.
Para fazer isso, iremos utilizar o seguinte código como exemplo:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zTstBrk Função de Teste do BreakPoint condicional @type Function @author Atilio @since 22/08/2022 /*/ User Function zTstBrk() Local nAtual := 0 Local cMsg := "" For nAtual := 1 To 10 cMsg += "Passei pelo " + cValToChar(nAtual) + "; " Next Alert(cMsg) Return
O código acima é bem simples, onde temos duas variáveis, um laço de repetição de 1 a 10, que vai inserindo um texto de mensagem, e ao finalizar é exibido uma mensagem, similar do print abaixo.
- Então agora, vamos adicionar o Break Point na linha 16, onde é incrementado a mensagem. Após inserir, clique com o botão direito e depois clique em Editar Ponto de Interrupção / Edit Break Point.
- Será exibido uma caixa para você digitar uma expressão, onde o resultado dela tem que ser lógico (.T. ou .F.).
- Você pode digitar comandos em AdvPL, no nosso caso iremos colocar que só irá parar no Break Point caso o nAtual seja igual a 6
- Para confirmar, o ícone do Break Point irá mudar (no tema que estou usando, ele fica com um sinal de igual dentro da bolinha), e ao posicionar o cursor do mouse por cima, ele exibe a expressão condicional
- Agora ao executar nossa depuração no Protheus, e acionar essa customização, ela só irá parar nesse Break Point quando a condição for verdadeira, conforme print abaixo
Obs.: Realizei testes em uma base com a versão 12.1.33 e com a extensão na versão 1.3.15, se eu não me engano, em versões mais antigas, acontecia problemas ao utilizar esse recurso.
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Atilio, sou seu fã cara! Faz tempo que tentei utilizar o Break Point Condicional e nao conseguia.. Vou testar aqui em um ambiente que você apontou. Obrigado e parabéns pela sua atividade para a comunidade!
Eu que agradeço pelo feedback e gentileza. É bondade e generosidade sua.
Um grande abraço.