tds-vscode
tds-vscode copied to clipboard
Inspetor de variáveis não mostra sub-objetos
DESCRIÇÃO: Na versão mais atual do plugin 1.3.15 o debug não está mostrando objetos que estão contidos em outros objetos, como por exemplo os objetos MVC que tem vários componentes internos que também são objetos. Nesta versão do plugin o VSCode não mostra o sub-objeto, ficando com o conteúdo NIL. Fiz testes com a versão anterior 1.3.14 e ela mostra perfeitamente os dados.
Desktop (please complete the following information):
- OS/Architecture: Windows 11 x64
Appserver (please complete the following information):
- Build (with date): 7.00.210324P-20220608
- OS/Architecture: Windows 11 x64
- Build Version 20.3.0.10
@cirilorocha Poderia por gentileza enviar um exemplo de fonte simples isolando essa questão? Chegou a tentar expadir o sub-objeto clicando no ">" De qualquer forma, grato por reportar a questão. Vamos tentar reproduzir aqui para analisar.
@lwtnb-wrk sim tentei clicando no ">" e ele não abre, se eu digitar o caminho completo oModel:aAllSubModels por exemplo ele abre no inspetor.
Abaixo um exemplo:
User Function uTeste() oTemp := FWLoadModel( "TAFA433" ) Return
Ola @cirilorocha, obrigado pelo exemplo.
Fiz alguns testes aqui e mesmo com o exemplo que você enviou não consigo reproduzir de forma alguma.
Veja na imagem abaixo que os objetos foram expandidos corretamente.
Uma duvida, no seu print, o objeto aparece como conteudo como "NIL" mas se voce tentar expandir ainda sim nao abre nada?
E outra coisa, isso acontece na visao de Watch (Inspeção) quanto na visão de Variáveis para o mesmo objeto? Ou só em uma delas?
@DanielYampolschi O problema é na visual Watch (Inspeção), realmente não tinha observado que na lista de variáveis abre normalmente. Se eu clicar em expandir não expande. Se eu adicionar o caminho completo na janela Watch, ele abre esse nível normalmente, ex.: oTemp:aAllSubModels vai conseguir abrir na janela de inspeção.
@cirilorocha Nao estamos conseguindo reproduzir seu problema aqui, mesmo na ultima versao v1.3.15 do tds-vscode
Veja em https://github.com/totvs/tds-vscode/blob/master/TROUBLESHOOTING.md#gerando-logs como gerar e nos envie os logs para analise.
Pelo que identifiquei aqui o problema ocorre quando utilizo o include RWMake.ch. Sem ele o debug fica normal. Acho que foi por isso que não reproduziu ai. Seguem os arquivos de log solicitados. dap.log totvsls.log totvsls_in.log totvsls_out.log
@cirilorocha Poderia nos enviar um programa bem simples com includes necessários para reproduzir o problema? Sua pasta de includes é a de qual data? A penúltima de 22-07-15-P12_INCLUDES ou anterior?
Eu compilei com o RWMake.ch antigo e não havia reproduzido o problema, mas ao recompilar com um include mais recente o problema se manifestou. Só que agora mesmo recompilando com includes antigo o problema persiste. Então seria bom se você pudesse informar os passos exatos para reproduzir e corrigir o problema somente trocando os includes.
@lwtnb-wrk Acho que consegui reproduzir 100%. Tem alguma haver quando o objeto no inspetor fica expandido (mostrando os detalhes) e eu encerro o cliente com ele desta forma. Ao abrir outro debug e usando o mesmo inspetor (eu não removi a variável que já estava lá expandida) ele não consegue mais mostrar os detalhes. Se eu adicionar ela novamente consigo expandir os detalhes normalmente. Se eu tiver fechado o cliente com a variável no watch recolhida, essa situação não ocorre. Gravei um pequeno vídeo de todo o processo, espero que ajude a identificar.
https://user-images.githubusercontent.com/96308173/187744315-f3527082-4ebf-4858-a2f3-5a0176893b2f.mp4
@cirilorocha Grato pelo vídeo e informações de como reproduzir a ocorrência. Conseguimos reproduzir e vamos trabalhar na correção.
Instalei a release 1.3.16 do plugin e o appserver 20.3.1.2 e o problema não ficou resolvido. Agora ele não mostra de forma alguma os dados do objeto no inspetor, apenas se eu olhar diretamente em variáveis.
Geramos uma versão Pré-Release da v1.3.17 que já deve corrigir este problema. Se quiser/puder testar, instale a versão https://github.com/totvs/tds-vscode/releases/tag/v1.3.17-RC1 manualmente seguindo https://github.com/totvs/tds-vscode/blob/master/docs/install.md
Fiz diversos testes em vários cenários e o problema ficou resolvido nesta versão 1.3.17RC1. Muito obrigado pela força.
show. assim que liberamos a versao oficial eu fecho a issue. grato pelos testes