Página 1 de 2

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 09:51
por h1e1
Olá a todos!

Existe executavel ou função que faz o debug no fonte?

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 11:09
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).

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 11:24
por h1e1
Esqueci de informar rsrsrsrrs :D
No caso uso o xDev, tem como integrar debug a ele? Ou usar separado? E onde baixo? ^^

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 14:09
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.

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 14:27
por h1e1
Olá

Achei eles, mas não tem como mostrar que, pelo fato ser arquivos interno da empresa que trabalho.^^

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 14:33
por h1e1
Vou elaborar um fonte teste, para ver se cria o arquivo .bc para entender como funciona o debug.

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 15:32
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 

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 15:53
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?

Existe debug para o xHarbour?

Enviado: 19 Ago 2015 18:25
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

Existe debug para o xHarbour?

Enviado: 20 Ago 2015 13:23
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.

Existe debug para o xHarbour?

Enviado: 21 Ago 2015 19:48
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.

Existe debug para o xHarbour?

Enviado: 21 Ago 2015 20:13
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.

Existe debug para o xHarbour?

Enviado: 24 Ago 2015 08:43
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.

Existe debug para o xHarbour?

Enviado: 27 Ago 2015 20:47
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.

Existe debug para o xHarbour?

Enviado: 28 Ago 2015 00:20
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: