Ativar .log de erro
Moderador: Moderadores
Ativar .log de erro
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
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
- Jairo Maia
- Moderador
- Mensagens: 2820
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
- Curtiu: 2 vezes
Ativar .log de erro
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.
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)
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)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Ativar .log de erro
Olá!
Se não gostar de hb_out.log tem uma função para colocar o nome que desejar.
Saudações,
Itamar M. Lins Jr.
O padrão do Harbour é hb_out.loggerar o arquivo error.log
Se não gostar de hb_out.log tem uma função para colocar o nome que desejar.
Código: Selecionar todos
Set( _SET_HBOUTLOG[, <cFileName>] ) -> <cOldFileName>Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Ativar .log de erro
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
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
- Jairo Maia
- Moderador
- Mensagens: 2820
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
- Curtiu: 2 vezes
Ativar .log de erro
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/vszak ... xhberr.prg
Veja que na função xhb_DefError( oError ) está dessa forma:
Precisa alterar para:
Ai funciona o "trace". Em anexo o arquivo ERRORSYS.PRG já alterado, acrescente esse arquivo em seu script .Hbp:
Veja aqui o fonte original: https://raw.githubusercontent.com/vszak ... xhberr.prg
Veja que na função xhb_DefError( oError ) está dessa forma:
Código: Selecionar todos
?
? "Error at...:", ProcName() + "(" + hb_ntos( ProcLine() ) + ") in module:", ProcFile()
n := 2Código: Selecionar todos
n := 2
?
? "Error at...:", ProcName( n ) + "(" + hb_ntos( ProcLine( n ) ) + ") in module:", ProcFile( n )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)
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)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Ativar .log de erro
Ola!
Aqui não faço nada, qualquer erro tem hb_out.log até no Linux.
Saudações,
Itamar M. Lins Jr.
Baixou onde o HB3.2 ? é GCC ?Itamar, sem o xhb_error.sys() não gerou o hb_out.log.
Aqui não faço nada, qualquer erro tem hb_out.log até no Linux.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Ativar .log de erro
Olá!
Saudações,
Itamar M. Lins Jr.
Esse é do 3.4Veja aqui o fonte original
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Ativar .log de erro
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
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
-
prmuller
- Usuário Nível 3

- Mensagens: 122
- Registrado em: 11 Nov 2008 12:25
- Localização: Vila Velha - ES
Ativar .log de erro
Bom dia!
Aqui no forum temos a PCTerror() que talvez te ajude.
Veja aqui: search.php?fid[]=4
Sds,
Paulo Muller
Aqui no forum temos a PCTerror() que talvez te ajude.
Veja aqui: search.php?fid[]=4
Sds,
Paulo Muller
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Ativar .log de erro
Passei um link, mas é de um projeto particular, só está disponível pra mim.
Removi as mensagens referentes a ele.
Removi as mensagens referentes a ele.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Softwhouse
- Usuário Nível 3

- Mensagens: 347
- Registrado em: 07 Dez 2011 18:44
- Localização: Porto Alegre/RS
-
faustinofaria
- Usuário Nível 1

- Mensagens: 9
- Registrado em: 29 Mar 2011 21:15
- Localização: Itápolis / SP
Ativar .log de erro
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!
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!
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Ativar .log de erro
Olá!
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.
Eu passei informação errada.Porém ele não gerou o hb_out.log.
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.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Ativar .log de erro
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.
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.
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.
Código: Selecionar todos
PROC MAIN
xhb_errorsys()
cls
use notthere new
return
compile/ link it with:
hbmk2 jun.prg xhb.hbc 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.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.