tds-vscode icon indicating copy to clipboard operation
tds-vscode copied to clipboard

Inspetor de variáveis não mostra sub-objetos

Open cirilorocha opened this issue 2 years ago • 9 comments

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.

image

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 avatar Aug 25 '22 13:08 cirilorocha

@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 avatar Aug 25 '22 13:08 lwtnb-wrk

@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

cirilorocha avatar Aug 25 '22 14:08 cirilorocha

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. image

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 avatar Aug 30 '22 18:08 DanielYampolschi

@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 avatar Aug 30 '22 18:08 cirilorocha

@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.

lwtnb-wrk avatar Aug 31 '22 12:08 lwtnb-wrk

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 avatar Aug 31 '22 13:08 cirilorocha

@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 avatar Aug 31 '22 17:08 lwtnb-wrk

@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 avatar Aug 31 '22 17:08 cirilorocha

@cirilorocha Grato pelo vídeo e informações de como reproduzir a ocorrência. Conseguimos reproduzir e vamos trabalhar na correção.

lwtnb-wrk avatar Sep 01 '22 14:09 lwtnb-wrk

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.

image

cirilorocha avatar Dec 23 '22 19:12 cirilorocha

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

lwtnb-wrk avatar Jan 04 '23 18:01 lwtnb-wrk

Fiz diversos testes em vários cenários e o problema ficou resolvido nesta versão 1.3.17RC1. Muito obrigado pela força.

cirilorocha avatar Jan 04 '23 20:01 cirilorocha

show. assim que liberamos a versao oficial eu fecho a issue. grato pelos testes

lwtnb-wrk avatar Jan 04 '23 21:01 lwtnb-wrk