Clipper On Line • Ver Tópico - Ativar .log de erro

Ativar .log de erro

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Ativar .log de erro

Mensagempor KLEBERVO » 04 Jan 2022 10:00

Bom dia.
Gostaria de saber se o harbour 3.2 tem a opção de gerar o arquivo error.log, quando o .exe apresenta algum problema?
Atenciosamente,

Kleber Valentim
KLEBERVO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 22 Set 2021 11:29
Cidade/Estado: CAIEIRAS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Ativar .log de erro

Mensagempor Jairo Maia » 04 Jan 2022 11:45

Não sei se tem alguma função nativa do Harbour, mas tem na xhb.lib, que funciona no Harbour.

Coloque a função xhb_ErrorSys() no inicio de seu sistema. Quando ocorrer um erro, será gerado o arquivo: error.log.

NOTA: Se você usa um ERRORSYS.PRG personalizado, ele será desconsiderado.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Ativar .log de erro

Mensagempor Itamar M. Lins Jr. » 04 Jan 2022 13:22

Olá!
gerar o arquivo error.log

O padrão do Harbour é hb_out.log
Se não gostar de hb_out.log tem uma função para colocar o nome que desejar.
 Set( _SET_HBOUTLOG[, <cFileName>] ) -> <cOldFileName>


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Ativar .log de erro

Mensagempor KLEBERVO » 05 Jan 2022 14:24

Boa tarde

Muito grato, pela dica Jairo, inclui o xhb_erro.sys() e gerou o error.log, mas não aparece o processo final onde o erro realmente acontece, aparecendo até o penúltimo processo chamador...

Itamar, sem o xhb_error.sys() não gerou o hb_out.log.

Tem que habilitar alguma função?

Atenciosamente,

Kleber Valentim
KLEBERVO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 22 Set 2021 11:29
Cidade/Estado: CAIEIRAS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Ativar .log de erro

Mensagempor Jairo Maia » 05 Jan 2022 16:22

Verdade! Testei aqui e realmente não mostra o "Trace". Mas acredito que em xHarbour funciona, em Harbour é que é diferente.

Veja aqui o fonte original: https://raw.githubusercontent.com/vszakats/hb/main/contrib/xhb/xhberr.prg

Veja que na função xhb_DefError( oError ) está dessa forma:
?
? "Error at...:", ProcName() + "(" + hb_ntos( ProcLine() ) + ") in module:", ProcFile()
n := 2

Precisa alterar para:
n := 2
?
? "Error at...:", ProcName( n ) + "(" + hb_ntos( ProcLine( n ) ) + ") in module:", ProcFile( n )

Ai funciona o "trace". Em anexo o arquivo ERRORSYS.PRG já alterado, acrescente esse arquivo em seu script .Hbp:

ERRORSYS.rar
(5.16 KiB) Baixado 47 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Ativar .log de erro

Mensagempor Itamar M. Lins Jr. » 05 Jan 2022 17:03

Ola!
Itamar, sem o xhb_error.sys() não gerou o hb_out.log.

Baixou onde o HB3.2 ? é GCC ?
Aqui não faço nada, qualquer erro tem hb_out.log até no Linux.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Ativar .log de erro

Mensagempor Itamar M. Lins Jr. » 05 Jan 2022 17:07

Olá!
Veja aqui o fonte original

Esse é do 3.4

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Ativar .log de erro

Mensagempor KLEBERVO » 07 Jan 2022 08:16

Bom dia
Segue versões:
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

25/04/2018 07:33 2.016.523 gcc.exe

Atenciosamente,

Kleber Valentim
KLEBERVO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 22 Set 2021 11:29
Cidade/Estado: CAIEIRAS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Ativar .log de erro

Mensagempor prmuller » 22 Jan 2022 07:59

Bom dia!

Aqui no forum temos a PCTerror() que talvez te ajude.
Veja aqui: search.php?fid[]=4

Sds,

Paulo Muller
prmuller
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 118
Data de registro: 11 Nov 2008 11:25
Cidade/Estado: Vila Velha - ES
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Ativar .log de erro

Mensagempor JoséQuintas » 25 Jan 2022 13:29

Passei um link, mas é de um projeto particular, só está disponível pra mim.
Removi as mensagens referentes a ele.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ativar .log de erro

Mensagempor Softwhouse » 26 Jan 2022 14:04

Vc é moderador ?
Fernando
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Ativar .log de erro

Mensagempor faustinofaria » 11 Fev 2022 17:31

Itamar e pessoal, boa tarde, tudo bem?!
Estou usando o Harbour 3.2.0dev com o .hbp com as opções:
-b
-osistema
-inc
-compr=yes
-lxhb
-lhbwin
-lhbct
-debug
-gui
Porém ele não gerou o hb_out.log.
Se eu acrescento o XHB_ERRORSYS(), ele gera o ERROR.LOG.
Não tenho nenhum código específico para tratar os erros.
Também testei o Set( _SET_HBOUTLOG , "ERROR.LOG" ), mas sem sucesso.
Grato pela ajuda!
faustinofaria
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 29 Mar 2011 21:15
Cidade/Estado: Itápolis / SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Ativar .log de erro

Mensagempor Itamar M. Lins Jr. » 11 Fev 2022 18:44

Olá!
Porém ele não gerou o hb_out.log.

Eu passei informação errada.
Na verdade eu estou estudando esse assunto.
Eu uso Hwgui, e ela já puxa o hb_out.log por isso eu achava que era padrão. Mas não é.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Ativar .log de erro

Mensagempor Itamar M. Lins Jr. » 13 Fev 2022 11:19

Olá!
Consegui entender como funciona o tratamento de erro.(acredito)
Existem dois tratamentos de erros: Os possíveis erros internos do Harbour "hb_out.log" que mudamos pela função -> Set( _SET_HBOUTLOG , "ERROR.LOG" ), e o que aparece na TELA que é o nosso erro.
Essa da tela tem que ser "DIRECIONADA" para um arquivo, senão mostra aquela mensagem PADRÃO na TELA.
Para ativar precisa direcionar o erro através da função errorblock({|e| MeuTratamentoDoErro( e, oldErr ) } )
para uma função NOSSA.
PROC MAIN
xhb_errorsys()
cls
use notthere new
return

compile/ link it with:
hbmk2 jun.prg xhb.hbc

Link explicando o assunto.
https://groups.google.com/g/harbour-users/c/RX93k4dlc78
A Hwgui tem o dela, fiz confusão pois aqui nos meus sistemas tem hb_out.log e outro em HTML que criei para mandar p/ email do erro.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro