O que causa o Failure receiving message no tprotocolrmt.cpp ao debugar um fonte no VSCode

Recentemente passamos por um erro em um cliente, onde apresentava uma mensagem ao tentar debugar um fonte via VSCode.

Ao tentar debugar um código fonte via VSCode, pode ser alguma questão na versão 12.1.2510 ou na LIB, ou nos binários, mas quando colocamos um breakpoint, e no Protheus, ao parar nesse breakpoint, o programa era encerrado e aparecia a mensagem abaixo:

Tela do Erro
Tela do Erro

Abaixo a mensagem o print acima, remetendo ao tprotocolrmt.cpp:

Communication error: Failure receiving message in file [caminho]/lib_comm/tprotocolrmt.cpp at line 12212

Fazendo alguns testes, descobrimos algo interessante, se fizermos o seguinte procedimento:

a. Via VSCode acionar o debug

b. No programa inicial colocar SIGAADV

c. No Protheus, clicar na opção do menu que dispara a função para parar no breakpoint

d. O erro acontece

Então mudamos o procedimento, para que ao invés do programa inicial usar SIGAADV, usar direto no módulo, por exemplo:

a. Via VSCode acionar o debug

b. No programa inicial colocar SIGACOM (ou o módulo desejado)

c. No Protheus, clicar na opção do menu que dispara a função para parar no breakpoint

d. O sistema para no breakpoint normalmente

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação