Closed rodrigoteixeira1975 closed 1 year ago
@rodrigoteixeira1975 Veja em https://github.com/totvs/tds-vscode/blob/master/TROUBLESHOOTING.md#gerando-logs como gerar e nos envie os logs para analise. Em especial o dap.log.
Olá meu caro! Aqui os logs gerados... logs.zip
@rodrigoteixeira1975 Grato pelas informações, mas realmente os logs não mostram nenhuma passagem pelo breakpoint na linha 21 da F183VNAT.PRW. Isso não quer dizer que não passou por essa linha, mas que o AppServer não nos enviou nenhuma informação ao passar por esse ponto. Desconheço essa rotina e ponto de entrada, mas estou desconfiando que essas rotinas podem estar sendo executadas em outra thread como jobs. E nesse caso, seria necessário debugar como se fossem jobs. Veja em https://github.com/totvs/tds-vscode/blob/master/docs/debugger.md#depura%C3%A7%C3%A3o-de-servi%C3%A7os-jobs como realizar depuração em Jobs. Se puder testar e validar se isso resolve seu problema, nos avise se funciona ou não enquanto tento levantar outras informações aqui.
Bom dia @rodrigoteixeira1975 , pra vc conseguir depurar em multi-thread é muito importante que não esteja em um ambiente balanceado, acesse diretamente um servidor especifico
Como padrão, tbem não é recomendável depurar em um ambiente de produção, ou vai parar todos que estiverem conectados no mesmo servidos
Se seguir essas duas regras não deverá ter problemas pra depurar os pontos de entrada.
Bom dia,
Este ponto de entrada está na rotina FINA183-APRORIAÇÃO CONTABIL de APLICAÇÕES FINANCEIRAS, antes esta rotina era chamada direto pelo menu, a partir da release 12.1.2210 ela passou a ser chamada pelo WIZARD POUI FINA716, e dai em diante parou de funcionar adequadamente, o Wizard passa pelo ponto de entrada mostra os erros, mas, pelo que percebi as variaveis publicas do padrão não estão sendo acessadas a partir desta nova release.
Agradeço imensamente pela ajuda e como tenho um ticket aberto na TOTVS para tratar deste problema e neste ticket foi solicitado pelo suporte que abrisse esta issue na comunidade Git, do que discordei, pois temos contrato de prestação de serviços que deve entergar um ERP funcional e para o qual existe desde sempre estes ponto de entrada que nos permite adequar a aplicação às regras de negocios e controle necessários, sendo assim, como a TOTVS fez esta mudança de tecnologia no desenvolvimento da aplicação onde funcionalidades deixam de existir, vejo uma possivel quebra de contrato nesta situação, por isso vou retomar o assunto via ticket e acionar o departamento juridico para que possam orientar no que pode ser feito.
Muito obrigado!
Bom dia @rodrigoteixeira1975 ,
Isso é algo que ja levei pra pelo menos 5 reuniões internas, vcs como Clientes podem abrir chamados onde for mais conveniente, insista quando se sentir negligenciado, é seu direito.
A grande vantagem do Git é que as issues aqui chegam diretamente pro meu time e a comunidade pode ajudar, mas chamados internos são ferramentas importantes quando precisarmos acessar outros setores, e este parece ser seu caso.
Estou encerrando este atendimento por aqui, reforce no chamado aberto no Portal que em conversa comigo (se refira a mim como Mansano de TEC) foi sugerido continuidade do atendimento interno, meu email é mansano@totvs.com.br
Se eu puder ajudar em mais algo é só me acionar
@rodrigoteixeira1975 Poderia informar o número do chamado que abriu na TOTVS?
@rodrigoteixeira1975Poderia informar o número do chamado que abriu na TOTVS? Sim.. sim... o numero é: 16706885
@rodrigoteixeira1975 Consegui reproduzir o comportamento que está tendo na depuração das rotinas de PO UI. Como eu havia comentado, as rotinas de PO UI rodam em um processo apartado do que você inicia a depuração. E para poder depurar a outra instância é necessário habilitar a depuração multi-thread. Adicione a seguinte linha ao seu launch.json: "enableMultiThread": true, Talvez seja necessário um ajuste da vírgula no final da linha, caso existe uma linha antes e/ou depois dela. Segue um exemplo completo para ficar mais claro: { "type": "totvs_language_debug", "request": "launch", "name": "SIGAFIN", "program": "SIGAFIN", "programArguments": [], "smartclientBin": "C:/totvs/bin/smartclient/smartclient.exe", "logFile": "${workspaceFolder}\daplog.log", "dpiMode": false, "isMultiSession": true, "enableMultiThread": true, "enableTableSync": true }, Enfim, com essa configuração, a depuração deve parar no ponto de parada informado e você deve conseguir depurar sua customização. At.,
Aqui nova evidencia, onde mesmo configurado com MultiThread = True NÃO para no PE!!! FINA716 - FINA183 - EVIDENCIA MESMO HABILITADO MULTITRHEAD NAO PARA NO PONTO ENTRADA.zip
Boa tarde, Tô reabrindo a questão por aqui já que estamos trocando arquivos. @leowww , só documenta o que for relevante no chamado pfv. Grato,
@rodrigoteixeira1975 A única diferença que notei agora foi que eu executei direto o SIGAFIN e você deve estar executando via SIGAMDI. Poderia retestar informando o SIGAFIN ou utilizando o SIGAADV ao invés do SIGAMDI para ver se faz no seu ambiente. Eu testei com o SIGAMDI aqui e mesmo assim parou no ponto de parada.
Outra coisa, poderia enviar o console.log de seu AppServer também?
Leo, mesmo com SIGAFIN tb não parou no PE. Segue aqui os consoles.log e bkp console.log
@rodrigoteixeira1975 , vi que tinham fechado o chamado no Portal e pedi que reabrissem. podemos interagir por lá, ou manter aqui atualizado caso alguem tenha o mesmo problema, o que prefere fazer?
Ola Mansano, podemos reabrir, sem problemas ! Grato!
bom dia @rodrigoteixeira1975 , sou da equipe do @leowww e do @ricardomansano. Fiz alguns testes por aqui e realmente, não parar no PE acontece apenas quando o enableMultiThread está com "false".
Olhando os primeiros logs que você enviou, vi que naquela execução essa era a situação (enableMultiThread:false), porém, como você informou por aqui e como está no vídeo, isso ainda acontece com esse parâmetro como true.
Então te peço pra por favor gerar os logs mais uma vez (caso não lembre com o fazer, segue o link que o Leo enviou anteriormente com as instruções: https://github.com/totvs/tds-vscode/blob/master/TROUBLESHOOTING.md#gerando-logs tem as instruções) para termos uma visão melhor do processo, se é alguma informação que o servidor não está enviando, ou algum fluxo nosso.
E após você enviar os logs, te peço um teste também, é um chute no escuro, mas... nos últimos logs, vi que a pasta onde os fontes estão localizados é: C:/Protheus12/Fontes/.vscode/
Se você tiver um drive D (ou qualquer outra letra que não o C) na tua máquina, transfira os fontes para lá (ah, e use a ultima pasta como algo diferente de .vscode, deixando esse nome apenas para a pasta da IDE), e tente abrir o vscode, e executar por ela.
Porém se você não tiver outro drive além do C, renomeie a sua pasta raiz .vscode (A pasta onde está tudo, e não a do próprio vscode, por exemplo, você tem uma pasta .vscode dentro da sua .vscode ficando assim: C:/Protheus12/Fontes/.vscode/.vscode) clique com o botão direito nela e garanta que essa pasta possui todas as permissões de leitura e escrita.
Muito obrigado.
@rodrigoteixeira1975 esqueci de pedir mais um teste... mude uma ou mais strings quaisquer no seu fonte com o PE, colocando um "2 - " no inicio, ou algo assim.. compile o fonte e execute novamente tb.. e confirme se apareceu essa nova mensagem. Obrigado.
Daniel / Leo / Mansano, após desinstalar o VS, deletar as pastas .vscode e reinstalar tudo novamente, reconfigurar o debug funcionou.
Muito obrigado!
Atte
@rodrigoteixeira1975 Ah excelente, então era alguma sujeira de configuração/instalação com problema mesmo.
Pedi sua confirmação no chamado aberto na TOTVS então por favor, responda lá também para que possamos encerrar esse caso.
Olá,
Na nova release 12.1.2210 do Protheus, algumas rotinas estão sendo migradas para POUI, por exemplo a rotina FINA716-APLICAÇÕES/EMPRESTIMOS, acontece que, os pontos de entrada que existem na antiga rotina (FINA183) que é chamada pela FINA716 (POUI) não é possivel passar pelo debug do ponto de entrada, a nova versão POUI mostra as mensagens de controle no ponto de entrada, mas não "para" no ponto de entrada para debug.
Atte Rodrigo Teixeira