Existe debug para o xHarbour?

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

Moderador: Moderadores

Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Olá a todos!

Existe executavel ou função que faz o debug no fonte?
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!

Sim, existe. Tem o mesmo visual do debugger do Clipper porém os recursos não são os mesmos. Faltam alguns. Para usar o recurso, é preciso marcar a opção apropriada durante a criação do script de compilação, pelo HbMake (imagino que você use HbMake). Feito isto, é só usar a função AltD() no ponto do código que quer depurar ou teclar ALD + D durante a execução, quando o programa estiver em algum estado de espera (um READ, por exemplo).
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Esqueci de informar rsrsrsrrs :D
No caso uso o xDev, tem como integrar debug a ele? Ou usar separado? E onde baixo? ^^
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!

Em algum lugar o xDev cria o script .bc para compilar e linkar o projeto. É neste arquivo que você precisará colocar o parâmetro -d para que seja possível usar o debugger. Não é preciso baixar nem instalar nada. Localize este arquivo e poste aqui para análise.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Olá

Achei eles, mas não tem como mostrar que, pelo fato ser arquivos interno da empresa que trabalho.^^
Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Vou elaborar um fonte teste, para ver se cria o arquivo .bc para entender como funciona o debug.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!

Basicamente deverá conter linhas parecidas com as linhas abaixo, com o parâmetro -d

Código: Selecionar todos

HARBOURFLAGS =  -b  -m  -w0
CFLAG1 =  -OS $(SHELL)  $(CFLAGS) -d -c -L$(HB_DIR)\lib 
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Olá
alxsts escreveu:Olá!

Basicamente deverá conter linhas parecidas com as linhas abaixo, com o parâmetro -d

Código: Selecionar todos

HARBOURFLAGS =  -b  -m  -w0
CFLAG1 =  -OS $(SHELL)  $(CFLAGS) -d -c -L$(HB_DIR)\lib 
Encontrei, mas está diferente, do que foi passado.

Código: Selecionar todos

HARBOURFLAGS =  -w0
CFLAG1 =  -OS $(SHELL)  $(CFLAGS) -d -c -L$(HB_DIR)\lib;$(FWH)\lib  
E como faz para executar o debug?
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!

Já que você utiliza o xDev, tente configurar seu projeto para utilização do Debugger.

Selecione o teu projeto na árvore do lado esquerdo da tela. Acesse o menu e selecione Projeto > Propriedades... Na tela que se abre, selecione a opção mostrada abaixo e salve clicando em Salvar.
Configuração do xDev
Configuração do xDev
Para testar, crie um novo programa no xDev e digite as linhas mostradas acima. Compile e teste. O Debugger deverá ser aberto ao passar pela linha 5.

Caso não consiga, altere a linha

Código: Selecionar todos

HARBOURFLAGS =  -w0
do teu script atual e acrescente a chave -b:

Código: Selecionar todos

HARBOURFLAGS = -b -w0
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Existe debug para o xHarbour?

Mensagem por Itamar M. Lins Jr. »

Ola!
Debug Visual é o da Hwgui que inclusive o Pritpal (HBIDE) pediu permissão ao Alexander e incorporou na HBIDE. Então a HBIDE tem debug!
Funciona tanto nos GT´s ou em qualquer visual, tanto faz ser Harbour ou xHarbour.

http://www.kresin.ru/en/debugger.html

Já o Debug nativo do Harbour é muito parecido com o do clipper e seu uso idêntico.

Saudações,
Itamar M. Lins Jr.
Anexos
hbide_debug.png
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Existe debug para o xHarbour?

Mensagem por Itamar M. Lins Jr. »

Ola!
porém os recursos não são os mesmos. Faltam alguns.
Você está falando do xHarbour. Já usou do debug do Harbour ? Tem coisas que só foram corrigidas no Harbour 3.2 e 3.4

O xHarbour está parado, apenas copiando o que pode ser copiado do Harbour.

Código: Selecionar todos

2015-04-01 14:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/debug/dbgentry.c
    ! fixed typo in my previous commit for AltD() function detection
      Thanks to Franček Prijatelj for reporting the problem and Abe
      for self contain example

2015-03-27 16:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/debug/dbgentry.c
    % small optimizations

2014-11-29 06:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtwin.prg
  * src/debug/debugger.prg
    ! replaced SaveScreen()/RestScreen() with
      __dbgSaveScreen()/__dbgRestScreen() to fix problems with unicode
      characters which do not exists in HVM CP.

E muitas outras correções do Viktor HB3.4 que só tem no fork dele.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!

Sim, me referi ao xHarbour que é a ferramenta usada pelo colega.

Obrigado por atualizar as informações acerca do debugger do Harbour. Quando puder vou conferir.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
h1e1
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 11 Fev 2015 18:22
Localização: Santa Bárbara D'Oeste

Existe debug para o xHarbour?

Mensagem por h1e1 »

Olhei no meu xDev e verifiquei que o xDev como padrão, vem com o debug ativo, só que o projeto da empresa que uso, vem com outras configurções.

Muito obrigado pela ajuda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Existe debug para o xHarbour?

Mensagem por JoséQuintas »

Uma correção importante:

O parâmetro para debug NÃO é -d
O parâmetro é -b

E para acionar o debug depois é Alt-D.

E convém lembrar também o seguinte:

1) Compilar o sistema inteiro pra debug pode atrapalhar ao invés de ajudar, porque tem muita coisa pra acompanhar.
Às vezes, melhor compilar apenas o fonte que quiser acompanhar pelo debug usando o -b

2) Se estiver usando o default do Harbour pra linqueditar, é confuso o local dos temporários, então pode ser uma boa opção salvar uma alteração no fonte para forçar com que ele seja recompilado.
Neste ponto, no clipper era só apagar o .OBJ.
No Harbour, seria necessário apagar o .OBJ (ou .O) e o .C, ou editar o fonte, que é mais prático.

3) O debug só pode ser ativado em momentos de acionamento do teclado, tipo Inkey(0).
Então, às vezes é necessário colocar um Inkey(0) caso a rotina não faça uso do teclado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Existe debug para o xHarbour?

Mensagem por alxsts »

Olá!
JoséQuintas escreveu:O parâmetro para debug NÃO é -d
O parâmetro é -b
Bem observado. Foi erro de digitação. Como se pode observar no exemplo de código fornecido, o parâmetro é -b.

Em um post seguinte, fica mais claro:
alxsts escreveu:...do teu script atual e acrescente a chave -b:
[]´s
Alexandre Santos (AlxSts)
Responder