#Depuração

0 Seguidores · 23 Postagens

Depuração é o processo de localização e resolução de defeitos ou problemas em um programa de computador que impede a operação correta do software ou sistema.

Novo
Artigo Aziz Cotrim · Jun. 21 7m read

Há algumas semanas eu estava tentando entender por que uma mensagem enviada por uma Business Service não chegava do jeito esperado na Business Operation. No Management Portal eu conseguia ver a mensagem entrando na fila e, mais tarde, uma entrada no Event Log dizendo que algo tinha saído errado. Entre esses dois pontos, porém, eu não enxergava nada. A mensagem passava pela Business Process, sofria alguma transformação no meio do caminho, e o resultado final não batia com o que eu esperava. Eu simplesmente não sabia em qual dos três componentes o problema estava.

0
1 11
Novo
Artigo Aziz Cotrim · Jun. 20 3m read

Uma das principais diferenças é o sistema de plugins. No VS Code, tudo é construído em torno de extensões. Por exemplo, para desenvolvimento InterSystems, existe o "InterSystems ObjectScript Extension Pack", que inclui as ferramentas essenciais. Com esse plugin você pode se conectar a servidores InterSystems, navegar pelo código, editar classes, compilar e trabalhar com ObjectScript diretamente do VS Code.

E não é só para ObjectScript. O VS Code também suporta Git, Docker, clientes REST, YAML, JSON, Python e muitas outras tecnologias.

0
0 9
Artigo Evandro Wendt · Maio 20 3m read

Introdução

Se você já se perguntou como depurar algumas requisições que estão sendo feitas para ou a partir do IRIS, aqui vai um pequeno tutorial sobre como fazer isso.

Durante um projeto complexo, normalmente você recebe as especificações e implementa a comunicação entre o IRIS e outros sistemas com base nelas. Mas do papel para o mundo real geralmente existe uma grande diferença, e você precisa entender por que está recebendo um erro em um parâmetro, em um cabeçalho, por que não está recebendo os dados e assim por diante.

0
0 11
Artigo Evandro Wendt · Maio 6 2m read

. . . você não está sozinho. 

A Ajuda está disponível.

Isso me tomou um tempo para descobrir, e imagino que outras pessoas também possam estar enfrentando dificuldades. Eu passei por toda a parte do Entra para configurar um fluxo de client credentials para enviar e-mail através de uma conta Microsoft 365. Consegui obter meu token com sucesso, mas nunca consegui autenticar com o servidor SMTP usando a classe %Net.SMTP. Havia duas partes para resolver isso.

Primeiro, o access token do autenticador precisa ser mais do que APENAS o access token. Ele precisa ser formatado como:

set smtp.authenticator.AccessToken = "user="_emailaddress_$C(1)_"auth=Bearer "_token_$C(1,1)
0
0 25
Artigo Larissa Prussak · Mar. 10 1m read

Isso serve mais como um lembrete pessoal, mas achei que valia compartilhar porque o assunto aparece frequentemente nos comentários, porém não está na documentação da InterSystems.

Existe um utilitário excelente chamado ^REDEBUG que aumenta o nível de registro (logging) no arquivo mgr\cconsole.log.

Para ativá-lo:

a) Inicie o terminal e faça login 

b) zn "%SYS" 

c) do ^REDEBUG 

d) Altere o nível de logging para FFFFFFFF

Se você estiver em um sistema de produção (com muito tráfego), sugiro que você reproduza o erro rapidamente, renomeie o arquivo cconsole.log

0
0 16
Artigo Heloisa Paiva · Dez. 27, 2025 2m read

Você envia uma requisição HTTP e recebe de volta um erro HTTP, mas com uma página de erro HTML que você não esperava... o que está acontecendo? 🤔

Especificamente, por exemplo: talvez você tenha tentado ler um recurso FHIR (ex: /Patient/123) e recebeu uma página de erro 404, embora com outros IDs de pacientes você receba o payload do recurso normalmente — então "a página" definitivamente existe... por que você estaria recebendo uma página de erro 404? 🙄

1
0 54
Artigo Evandro Wendt · Dez. 19, 2025 6m read

Neste artigo, vamos discutir todas as ferramentas de depuração incluídas noMicrosoft Visual Studio Code.

O que será abordado:

  • Breakpoints  
  • Janela de observação (Watch window)  
  • Call Stack  

Vamos começar aprendendo sobre os requisitos para depuração!

Pré-requisitos

Existem dois plugins (extensões) para depuração de ObjectScript:

O primeiro faz parte doInterSystems ObjectScript Extension Pack. O segundo éSerenji, um plugin independente que fornece um editor, gerenciador de arquivos e funcionalidades de depuração. Ambos os plugins podem ser instalados a partir da loja de plugins. Para ativar funcionalidades principais, o Serenji requer uma licença. Para este artigo, usaremos o InterSystems ObjectScript Extension Pack para reduzir a curva de aprendizado. Depois de dominar o básico, você pode considerar a compra de uma licença paga para o Serenji.
 

1
0 58
Artigo Heloisa Paiva · Nov. 24, 2025 4m read

Olá!

A migração de dados costuma parecer uma simples "tarefa de mover dados de A para B" até você realmente fazê-lo. Na realidade, é um processo complexo que combina planejamento, validação, testes e precisão técnica.

Em vários projetos nos quais lidei com a migração de dados para um HIS (Sistema de Informação Hospitalar) que roda em IRIS (TrakCare), percebi que o sucesso é resultado de uma combinação de disciplina e automação.

Aqui estão alguns pontos que desejo destacar:

1. Comece com um Formato de Dados Definido.

Antes mesmo de abrir seu primeiro arquivo, certifique-se de que todos, especialmente os fornecedores de dados, entendam claramente o formato de dados exato que você espera. Definir modelos (templates) logo no início evita idas e vindas desnecessárias e retrabalho mais tarde.

Embora os formatos Excel ou CSV sejam comuns, eu pessoalmente sinto que usar um arquivo de texto delimitado por tabulação (.txt) para upload de dados é a melhor opção. É leve, consistente e evita problemas com vírgulas dentro de campos de texto.

PatID   DOB Gender  AdmDate
10001   2000-01-02  M   2025-10-01
10002   1998-01-05  F   2025-10-05
10005   1980-08-23  M   2025-10-15

Certifique-se de que os formatos de data fornecidos no arquivo estejam corretos e constantes em todo o arquivo, pois todos esses arquivos geralmente são convertidos de um arquivo Excel e um usuário básico de Excel pode cometer erros ao fornecer formatos de data incorretos. Formatos de data errados podem ser irritantes ao tentar converter para o formato $Horolog.

0
0 64
Artigo Heloisa Paiva · Jun. 4, 2025 9m read

1. Um Exemplo Motivador

O Python embarcado já existe há algum tempo. Você provavelmente seguiu os tutoriais e aprendeu sobre ele. No entanto, se você tentou combinar Python e ObjectScript em um trabalho de desenvolvimento real, provavelmente se deparou com situações em que recebeu uma mensagem de erro como esta:

USER>Do##class

É uma string longa para informações limitadas. Tudo o que sabemos por essa mensagem é que ocorreu um erro de Python onde:

(a) o tipo de erro é

0
0 65
Artigo Heloisa Paiva · Fev. 13, 2025 4m read

No WRC, frequentemente vemos clientes entrarem em contato conosco porque seus Web Gateways são incapazes de servir páginas web. Este artigo explicará um motivo frequente para a ocorrência desses erros e descreverá algumas ferramentas que podem ser usadas para depurar o problema. Esta explicação está focada no Web Gateway servindo instâncias do InterSystems IRIS, mas a mesma explicação deve se aplicar ao CSP Gateway servindo instâncias do Caché também.

0
1 81
Artigo Danusa Calixto · Abr. 5, 2024 6m read

Neste artigo, vou abordar o teste e a depuração dos aplicativos da Web Caché (principalmente REST) com ferramentas externas. A segunda parte abrange ferramentas de Caché.

Você escreveu um código do servidor e quer testar em um cliente ou já tem um aplicativo da Web e ele não funciona. É aqui que entra a depuração. Neste artigo, vou mostrar desde as ferramentas mais fáceis de usar (navegador) até as mais completas (analisador de pacotes). Porém, primeiro, vamos falar um pouco sobre os erros mais comuns e como eles podem ser resolvidos.

0
0 126
Artigo Heloisa Paiva · Mar. 15, 2024 6m read

Introdução

Nas próximas semanas, meus colegas de trabalho estão planejando começar a usar VSCode para programar com os produtos InterSystems. Entre as várias vantagens disso, eu gostaria de salientar a possibilidade de se conectar com outras tecnologias, como o GitHub, com facilidade. Além disso, o VSCode também oferece uma extensa loja de extensões, onde você pode achar vários recursos adicionais gratuitos que fazem a programação mais rápida e eficiente. Por último e não menos importante, para conquistar os corações de todo desenvolvedor, é Open Source.

0
0 258
Anúncio Danusa Calixto · Fev. 21, 2024

Recentemente, percebi que já faz muito tempo que não falo sobre os recursos mais recentes da extensão ObjectScript da InterSystems para Visual Studio Code.

Tenho o prazer de anunciar a versão 2.12.1 da extensão ObjectScript, contendo diversas melhorias que facilitam a vida do desenvolvedor. Alguns destaques são descritos abaixo, incluindo o recurso nº 1 solicitado pelo Global Summit – importação de XML!

Como sempre, encontre a lista completa de modificações no CHANGELOG, incluindo muitas correções de bugs e vulnerabilidades.

0
0 132
Artigo Larissa Prussak · Fev. 14, 2024 3m read

Após dois Webinars locais, focamos no VS Code ["Intro" e "Beyond Basics"; em hebraico], preparei para os participantes alguns links relacionados de recursos relevantes que enviamos como acompanhamento. Compartilhando-os aqui também para o benefício da Comunidade.
É claro que todos vocês são bem-vindos para adicionar mais recursos úteis.

0
0 110
Artigo Danusa Calixto · Dez. 6, 2023 2m read

Com certeza, você já se deparou com esta situação:

  • Há um bug em um Sistema que você não consegue reproduzir localmente
  • Você precisa executar algumas linhas na instância afetada
  • Você ganha acesso completo ao Portal de Gerenciamento de Sistemas
  • Mas não há terminal, console nem acesso com o Studio, Atelier ou VSCode
  • Como executar algumas linhas para teste ???
0
0 98
Artigo Heloisa Paiva · Mar. 28, 2023 10m read

O Visual Studio Code (VSCode) é o editor de código mais popular do mercado. Foi criado pela Microsoft e distribuído como um IDE gratuito. O VSCode suporta dezenas de linguagens de programação, incluindo ObjectScript, até 2018, Atelier (baseado no Eclipse). Foi considerado como uma das principais opções para desenvolver produtos InterSystems.

1
0 255
Pergunta Arian Botine · Mar. 19, 2022

Antes de mais nada, o exemplo abaixo trata-se da manutenção de um código legado e em uma nova implementação não usaria a ^CacheTemp dessa forma.

Em determinado momento na codificação, realizamos um $GET em uma variavel do tipo global na CacheTemp da seguinte forma:

Set dataHora = $GET(^CacheTemp.ResAnteriores("DataColeta",pUsuario,pSessao,paciente,objOs.%Id(),pProcedimento),"")

Sendo que a global, nesses termos, está <UNDEFINED>, porém em tempo de execução o retorno é um dump de memoria, fazendo com que nos logs de console (cconsole.

1
0 205
Artigo Larissa Prussak · Out. 26, 2021 2m read

As tecnologias da InterSystems são conhecidas por seus bancos de dados de alto desempenho, que suportam os sistemas e operações de muitas organizações. No entanto, um ingrediente chave para esse sucesso é a qualidade e a facilidade de manutenção de seu código.

A qualidade do código pode afetar tudo, desde a velocidade e facilidade de corrigir bugs e fazer melhorias, até o desempenho geral de sua organização e sua capacidade de chegar à frente no mercado.

Ao garantir que seu código seja sustentável, você pode reduzir aproximadamente 75% dos custos do ciclo de vida do sistema *. É por isso que, na George James Software, as soluções que construímos são sempre diretas e escritas em código de alta qualidade - porque sabemos que essa base sólida pode impactar positivamente o resto da sua organização.

Com um sistema que pode ser mantido, você pode reduzir a manutenção geral, pois qualquer problema que ocorra é significativamente mais rápido de identificar e corrigir. Isso significa que você está livre para alocar tempo e orçamento para melhorias, permitindo que você obtenha o máximo valor de suas aplicações e, em última análise, dê um melhor suporte à sua organização.

Fique atento às nossas próximas postagens sobre como é um sistema sustentável e as ferramentas que podem ajudá-lo a manter seu código sustentável, a fim de ajudá-lo a reduzir esses custos de manutenção.

0
0 89
Artigo Larissa Prussak · Out. 20, 2021 1m read

A versão mais recente do Serenji se concentra na experiência de depuração. Agora você não só pode depurar no local, não importa onde esteja ou o que estiver fazendo, mas também adicionamos alguns recursos menores que tornarão a depuração mais direta.

  • Executar e depurar CodeLenses - links clicáveis ​​acima de cada método de classe, procedimento, sub-rotina ou função extrínseca.
  • Solicitação intuitiva de pontos de entrada e argumentos - ao depurar um método de classe, produzir, sub-rotina ou função extrínseca.
  • Plano de fundo sombreado somente leitura - para diferenciar claramente entre documentos editáveis ​​e somente leitura.
  • Saída do programa no console de depuração - a saída é mostrada no console de depuração.
  • Comandos do Serenji nas árvores de namespace do Server Manager - permitindo que você inicie o Serenji por meio do Server Manager.

Saiba mais em nossas notas de lançamento aqui

0
0 143
Artigo Larissa Prussak · Out. 8, 2021 1m read

Olá desenvolvedores! 

Incorporamos o suporte do VS Code para várias sessões de depuração simultâneas e consoles na versão mais recente do Serenji

Portanto, se você estiver trabalhando com processos que se relacionam ou dependem uns dos outros, agora você pode depurá-los juntos. Basta iniciar uma segunda sessão de depuração do Serenji (F5) enquanto a primeira ainda está ativa

Este pequeno vídeo abaixo mostra como funciona. Esperamos que você ache este recurso útil!

Laurel 

https://www.youtube.com/watch?v=cs6UiAvUj24

0
0 164
Artigo Larissa Prussak · Out. 5, 2021 1m read

O lançamento mais recente do Serenji apresenta nossa inovadora tecnologia gj :: locate. Era uma ferramenta autônoma que criamos originalmente para um concurso da Comunidade de Desenvolvedores no início deste ano, mas nós a incorporamos em nosso depurador após alguns ótimos comentários dos desenvolvedores.

Ele funciona navegando diretamente para a fonte de seus erros do lado do servidor em apenas alguns cliques - permitindo que você corrija os erros rapidamente sem a necessidade de contar linhas tediosas de código ... e sejamos realistas, quem tem tempo para que quando você está sob pressão para consertar esse bug?

É simples e fácil de usar:

1. Clique no painel gj :: locate na barra de status

2. Insira a mensagem de erro do ObjectScript ou a referência de linha de uma rotina class / .mac.

3. gj :: locate então faz o trabalho para você, levando-o diretamente para a linha correspondente em seu código-fonte.

Muito fácil ... e com tempo de sobra para fazer um café antes do prazo!

Abaixo há um link do vídeo que mostra isso em ação - diga-nos se você já tentou. Ou, se você estiver interessado em experimentá-lo, oferecemos uma licença de avaliação gratuita de 30 dias, apenas me mande uma mensagem através da Comunidade de Desenvolvedores ou envie um e-mail para info@georgejames.com.

Serenji 3.2.0 utilising gj::locate technology

0
0 168