Nova Opção de debug pra Harbour
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Nova Opção de debug pra Harbour
Testei aqui usando 2 monitores, 1 com o debug e o outro com a tela do sistema.
Muito interessante.
Não é exclusivo pra HWGUI - aqui testei com GTWVG.
O EXE do debug é em separado do EXE normal, igual existia a opção no cld.exe do Clipper.
http://www.kresin.ru/en/debugger.html
Obs. No Harbour 3.2 acusa algumas variáveis não declaradas, e function sem return, mas foi só acrescentar LOCAL e RETURN aonde necessário.
Muito interessante.
Não é exclusivo pra HWGUI - aqui testei com GTWVG.
O EXE do debug é em separado do EXE normal, igual existia a opção no cld.exe do Clipper.
http://www.kresin.ru/en/debugger.html
Obs. No Harbour 3.2 acusa algumas variáveis não declaradas, e function sem return, mas foi só acrescentar LOCAL e RETURN aonde necessário.
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/
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Nova Opção de debug pra Harbour
É bom para mostrar os recursos da Hwgui.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Nova Opção de debug pra Harbour
Não são usados recursos da hwgui, e sim do Harbour.
Mas tem recursos que podem começar uma nova geração de debugs:
- janela separada pro debug
- debug separado do EXE
- opção de usar o debug em uma máquina, pra acompanhar o EXE que está em outra máquina
Fui fazer meu primeiro uso pra valer, e não funcionou direito.
O debug do Harbour continua sendo a melhor opção, mesmo não fazendo tudo que o do Clipper faz.
Mas tem recursos que podem começar uma nova geração de debugs:
- janela separada pro debug
- debug separado do EXE
- opção de usar o debug em uma máquina, pra acompanhar o EXE que está em outra máquina
Fui fazer meu primeiro uso pra valer, e não funcionou direito.
O debug do Harbour continua sendo a melhor opção, mesmo não fazendo tudo que o do Clipper faz.
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/
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/
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Nova Opção de debug pra Harbour
Muito boa opção para quem usa LIB gráfica( Hwgui ).
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Nova Opção de debug pra Harbour
O programa de debug é independente do EXE, faz tudo através de troca de informações por arquivo em disco entre o debug e o EXE.
Só linqueditar com a lib de debug.
Depois vai usar o EXE do programa, e mais o EXE do debug.
O EXE pode estar usando qualquer lib gráfica.
Obs.
Quem quiser usar, é baixar a hwgui e compilar. vém com os arquivos HBP pra compilação.
hwgui\utils\debugger é o programa de debug, que usa hwgui
hwgui\source\debug é a lib pra compilar com o EXE não precisa hwgui.
Só linqueditar com a lib de debug.
Depois vai usar o EXE do programa, e mais o EXE do debug.
O EXE pode estar usando qualquer lib gráfica.
Obs.
Quem quiser usar, é baixar a hwgui e compilar. vém com os arquivos HBP pra compilação.
hwgui\utils\debugger é o programa de debug, que usa hwgui
hwgui\source\debug é a lib pra compilar com o EXE não precisa hwgui.
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/
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Nova Opção de debug pra Harbour
Como não ?Não são usados recursos da hwgui, e sim do Harbour.
Tudo feito com a Hwgui e não usa os recursos da hwgui ? vai entender.
Código: Selecionar todos
Function Main( ... )
Local oMainW, oFont, oBmpPoint, oBmpCurr
Local aParams := hb_aParams(), i, cFile, cExe, cDirWait
PREPARE FONT oFont NAME "Georgia" WIDTH 0 HEIGHT -17 CHARSET 4
INIT WINDOW oMainW MAIN TITLE "Debugger" ;
AT 200,0 SIZE 600,544 ;
FONT oFont ;
ON EXIT {|| ExitDbg()}
MENU OF oMainW
MENU TITLE "&File"
MENUITEM "Debug program" ID MENU_INIT ACTION DebugNewExe()
SEPARATOR
MENUITEM "Set Path" ACTION SetPath()
MENUITEM "Open prg" ACTION OpenPrg()
SEPARATOR
MENUITEM "&Close debugger" ID MENU_EXIT ACTION DoCommand( CMD_EXIT )
MENUITEM "&Exit and terminate program" ID MENU_QUIT ACTION DoCommand( CMD_QUIT )
ENDMENU
MENU TITLE "&Locate"
MENUITEM "&Find"+Chr(9)+"Ctrl+F" ACTION Locate( 0 ) ACCELERATOR FCONTROL,Asc("F")
MENUITEM "&Next" +Chr(9)+"F3" ACTION Locate( 1 ) ACCELERATOR 0,VK_F3
MENUITEM "&Previous" ACTION Locate( -1 )
SEPARATOR
MENUITEM "Functions &list" ACTION Funclist()
ENDMENU
MENU ID MENU_VIEW TITLE "&View"
MENUITEM "&Stack" ID MENU_STACK ACTION StackToggle()
MENUITEM "&Local vars" ID MENU_LOCAL ACTION LocalsToggle()
MENUITEM "&Watches" ID MENU_WATCH ACTION WatchesToggle()
SEPARATOR
MENUITEM "Work&Areas"+Chr(9)+"F6" ACTION AreasToggle() ACCELERATOR 0,VK_F6
ENDMENU
MENU ID MENU_RUN TITLE "&Run"
MENUITEM "&Animate" ACTION Animate()
MENUITEM "&Go"+Chr(9)+"F5" ACTION DoCommand( CMD_GO ) ACCELERATOR 0,VK_F5
MENUITEM "&Step"+Chr(9)+"F8" ACTION DoCommand( CMD_STEP ) ACCELERATOR 0,VK_F8
MENUITEM "To &cursor"+Chr(9)+"F7" ACTION DoCommand( CMD_TOCURS ) ACCELERATOR 0,VK_F7
MENUITEM "&Trace"+Chr(9)+"F10" ACTION DoCommand( CMD_TRACE ) ACCELERATOR 0,VK_F10
MENUITEM "&Next Routine"+Chr(9)+"Ctrl+F5" ACTION DoCommand( CMD_NEXTR ) ACCELERATOR FCONTROL,VK_F5
ENDMENU
MENU ID MENU_BRP TITLE "&BreakPoints"
MENUITEM "&Add"+Chr(9)+"F9" ACTION AddBreakPoint() ACCELERATOR 0,VK_F9
MENUITEM "&Delete"+Chr(9)+"F9" ACTION AddBreakPoint()
ENDMENU
MENUITEM "&About" ACTION About()
ENDMENU
@ 0,0 BROWSE oBrwText ARRAY SIZE 600,436 ;
FONT oFont STYLE WS_BORDER+WS_VSCROLL ;
ON SIZE {|o,x,y|o:Move(,,x,y-108)}
oBrwText:aArray := {}
#ifdef __LINUX__
oBrwText:rowCount := 5
oBrwText:AddColumn( HColumn():New( "",{|v,o|Iif(o:nCurrent==nCurrLine,'>',Iif(getBP(o:nCurrent)!=0,'*',' '))},"C",1,0 ) )
#else
oBmpCurr := HBitmap():AddStandard(OBM_RGARROWD)
oBmpPoint:= HBitmap():AddStandard(OBM_CHECK)
oBrwText:AddColumn( HColumn():New( "", ;
{|v,o|Iif(o:nCurrent==nCurrLine,1,Iif(getBP(o:nCurrent)!=0,2,0))},"N",1,0 ) )
oBrwText:aColumns[1]:aBitmaps := { { {|n|n==1},oBmpCurr },{ {|n|n==2},oBmpPoint } }
#endif
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Nova Opção de debug pra Harbour
Eu quis dizer sobre a parte que interessa, que é o debug.
A parte do debug é compilada junto ao EXE, sem hwgui.
A comunicação entre os dois programas é por arquivo em disco.
A tela do debugger até usa hwgui, mas usa apenas uns recursos mínimos. Dá pra fazer em qualquer GT.
Uma coisa é a hwgui e seus recursos.
Outra coisa é o debug, cuja tela principal no momento está em hwgui.
Pra mim são coisas distintas.
A hwgui é poderosa? ok.
O debug foi criado por um desenvolvedor da hwgui? ok.
O debug depende de recursos da hwgui? não. A tela foi criada com hwgui mas pode ser criada com outra gt.
O debug mostra o poder da hwgui? não, só usa pouca coisa básica.
O fonte do debugger pode ser compilado no Harbour puro? não. precisa modificar pra outra GT que não seja hwgui.
Se ajustar o debbuger pra outra GT, a nova gt passa a ser poderosa? Também não.
A hwgui é fraca? não. Estou falando apenas do esquema de debug não estar relacionado a hwgui.
Em todo caso, se eu ajustar pra gtwvg posto aqui, só pra mostrar que o debug não está relacionado a recursos hwgui.
Obs. O menu estilo windows, pode ser feito com hbwin, sem gt específica, mas poderia ser tudo em estilo console, que o debug continuaria funcionando normalmente.
A parte do debug é compilada junto ao EXE, sem hwgui.
A comunicação entre os dois programas é por arquivo em disco.
A tela do debugger até usa hwgui, mas usa apenas uns recursos mínimos. Dá pra fazer em qualquer GT.
Uma coisa é a hwgui e seus recursos.
Outra coisa é o debug, cuja tela principal no momento está em hwgui.
Pra mim são coisas distintas.
A hwgui é poderosa? ok.
O debug foi criado por um desenvolvedor da hwgui? ok.
O debug depende de recursos da hwgui? não. A tela foi criada com hwgui mas pode ser criada com outra gt.
O debug mostra o poder da hwgui? não, só usa pouca coisa básica.
O fonte do debugger pode ser compilado no Harbour puro? não. precisa modificar pra outra GT que não seja hwgui.
Se ajustar o debbuger pra outra GT, a nova gt passa a ser poderosa? Também não.
A hwgui é fraca? não. Estou falando apenas do esquema de debug não estar relacionado a hwgui.
Em todo caso, se eu ajustar pra gtwvg posto aqui, só pra mostrar que o debug não está relacionado a recursos hwgui.
Obs. O menu estilo windows, pode ser feito com hbwin, sem gt específica, mas poderia ser tudo em estilo console, que o debug continuaria funcionando normalmente.
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/
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Nova Opção de debug pra Harbour
Ok, claro que pode ser feito em qualquer GT. Alias o Xailer tem isso com mais recursos, o Pritpal Bedi já, já faz uma usando a HBQT, agradeceu ao Kresin pelo modelo, inspiração.
Olhando os fontes:
Recursos, recursos bons recursos, não estou dizendo que é a toda poderosa, state of art, apenas uma boa lib gráfica só isso.
Saudações,
Itamar M. Lins Jr.
Olhando os fontes:
E o Kresin está no Harbour desde o inicio e só olhar o Changelog do harbour.* Harbour Project source code:
* The Debugger
*
* Copyright 1999 Antonio Linares <alinares@fivetechsoft.com>
* Copyright 2003-2006 Phil Krylov <phil@newstar.rinet.ru>
* Copyright 2013 Alexander Kresin <alex@kresin.ru>
* www - http://harbour-project.org
1999-06-02-09:30 Alexander Kresin
Updated:
* source/hbpp/hbpp.c - main preprocessor file
* source/hbpp/c.prg - sample file
* source/hbpp/makefile.b16
* source/hbpp/makefile.b32
Added:
* source/hbpp/buildgcc.bat
* source/hbpp/table.c
É como diz aquele ditado: Depois da onça morta todo mundo é caçador.A tela do debugger até usa hwgui, mas usa apenas uns recursos mínimos. Dá pra fazer em qualquer GT.
Recursos, recursos bons recursos, não estou dizendo que é a toda poderosa, state of art, apenas uma boa lib gráfica só isso.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Nova Opção de debug pra Harbour
Já esta no SVN.
Itamar M. Lins Jr.
Saudações,Thanks, I'll check it.
BTW, I've uploaded a new debugger version - 1.02 with the following
changes:
[+] Added "Options" menu item with "Font" and "Save settings" inside.
The font
and the path to sources are saved now in hwgdebug.xml file, which
is in the same directory where hwgdebug.exe is.
[*] Tabs in a source files are converted to spaces now for better
appearance
[*] Some changes to make it compatible with xHarbour, xHarbour/
hwgdebug.lib
is included in this distribution.
[!] Small fixes
Regards, Alexander.
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Nova Opção de debug pra Harbour
Até agora não tínhamos nenhum DEBUG bom para usar com hwgui, isso é bom de mais da conta.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Nova Opção de debug pra Harbour
Creio que nem a fivewin tem um debug.
Para o pessoal do xHarbour e da Minigui.
Itamar M. Lins Jr.
Para o pessoal do xHarbour e da Minigui.
Saudações,2013-05-29 18:55 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
* source/debugger/dbgconnect.prg
* Small changes for debuggibg Minigui projects
* utils/debugger/bld.bat
* hbxml.lib added to the link script
2013-05-29 16:20 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
* utils/debugger/hwgdebug.prg
* Some improvements
2013-05-29 12:45 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
* source/debugger/dbgconnect.prg
* source/debugger/debugger.prg
* makefile.bc
* make_b32.bat
* Some changes for compatibility with xHarbour. Now, to build hwgdebug.lib
with xHarbour, you need to set the environment variable in make_b32.bat
( it is commented by default )
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.