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: 3109
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: 3109
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: 3109
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: 3109
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: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 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: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 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: 3109
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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, 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/
alxsts
Colaborador
Colaborador
Mensagens: 3109
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