Page 3 of 4

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Wed Dec 28, 2011 6:47 pm
by Antonio Linares
Frank,

Glad to know you are moving forward :-)

Remains the missing 'hbmisc.lib' respectively 'hbnf.lib'


The best way to solve that is to download the required files to build those libs yourself. You can access the files from here:

http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/contrib/hbmisc/

Using Harbour hbmk2.exe you should be able to easily build it :-)

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Thu Dec 29, 2011 4:21 pm
by frose
Antonio,

ok, I'll try it!

There is still an unresolved external symbol left, no idea what to do:
Code: Select all  Expand view
hbrtl.lib(hbsocket.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__WSAIoctl@36" in Funktion "_hb_socketGetIFaces".

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Thu Dec 29, 2011 7:12 pm
by Antonio Linares
Frank,

You have to link WS2_32.Lib from MSVC :-)

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Fri Dec 30, 2011 11:06 am
by frose
Antonio,

have commented some xHarbour extensions function calls, so the app links now!

Was in the hope that I can use the built in debugger, but it has some serious disadvantages. For explanation see screen shot:

Image

- It's very slow, needs roundabout 30 seconds for the function call 'aParameters := My_TokenArray( cParameter, '#' )'
- As you can see in the screen shot, sometimes the shown source line (dark red) isn't the one which will executed next with F8 (LOCAL i). Consider that <nFound> is already initialised!
- It's not possible to set breakpoints with 'AltD()'

Further disadvantages, not so serious:
- Monitoring only LOCAL's, no PUBLIC's, PRIVATE's and STATIC's
- No watch function, to see only a few variables or the value of an expression (script function)
- Not possible to see the Set() values
- Not possible to monitor the values of (multidimensional) arrays
- No syntax highlightning

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Fri Dec 30, 2011 7:26 pm
by Antonio Linares
Frank,

We have received very little feedback about our debugger so we really thank you all the feedback that you are providing us :-)

The Harbour profiler could be used to detect the bottle necks that are slowing down its execution. Anyhow, it is implemented in PRG code and that obviously doesn't offer the best possible speed.

Regarding the missing areas that you comment, we could implement them. Its not very difficult. With your feedback and comments surely we can improve it :-)

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Fri Dec 30, 2011 8:00 pm
by Antonio Linares
Frank,

Here you have the SETs browser already implemented :-) As you can see we can easily enhance the FWH debugger as much as needed,

Image

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Sat Dec 31, 2011 9:54 am
by Antonio Linares
Implementing Profiler support on the debugger so we can inspect which procedures are consuming more time and number of calls :-)

Image

Code: Select all  Expand view

          // Turn on profiling.
          __setProfiler( .T. )

   ...

          @0, 0 XBROWSE ::oBrwProf ARRAY Array( __DynSCount() ) SIZE 300, 180 PIXEL OF ::oGet:aDialogs[8]

   ...

          ADD TO ::oBrwProf HEADER 'Symbol'  DATA __DynSGetName( ::oBrwProf:nArrayAt ) SIZE 150
          ADD TO ::oBrwProf HEADER 'Is Function'  DATA __DYNSISFUN( ::oBrwProf:nArrayAt ) SIZE 100
          ADD TO ::oBrwProf HEADER 'Called'  DATA __DynSGetPrf( ::oBrwProf:nArrayAt )[ 1 ] SIZE 100
          ADD TO ::oBrwProf HEADER 'Time'    DATA __DynSGetPrf( ::oBrwProf:nArrayAt )[ 2 ] SIZE 100
 


Important: In order to use the Harbour Profiler, Harbour has to be built using HB_USE_PROFILER

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Sat Dec 31, 2011 10:29 am
by frose
Antonio,

thank you for the fast response and the perspective to have an excellent FiveWin debugging function in the near future :-)

As stated above, the most important issues is the difference between the shown and the actual executed row and the time-consuming preparation of the xBrowse.

Understanding that it’s an array-xBrowse and it takes some time to prepare it, particularly if the source files have thousands (more than 10000) of rows. I suppose thats also the reason for the row-differences!?

So, perhaps you can change the concept from file- to function-/procedure-/method- oriented preparation!

At least, it would be possible/thinkable to have separate dialogs for each function/procedure/method, analog to the call structure. The focus then changes automatically between them with the execution progress. For navigation, you can offer a jump-list of all modules in the actual file, etc.

Here my actual feature list:
- Possibility to set breakpoints with 'AltD()'
- Additional monitoring of PUBLIC's, PRIVATE's and STATIC's
- New folder for a ‘Watch function’, to see only a few variables or the value of an expression (script function)
- Copy & paste function: Edit a row in the source browse; copy a part of the line in the clipboard; past it in the watch edit field.
- New folder for Set() values - done
- Monitor the values of (multidimensional) arrays
- Syntax highlighting
- Options: Chose font, encoding and size. I’m still using OEM-font ‘Terminal’
- Make much as possible settings persistent, e.g.:
  • xBrowse state, e.g. column width
  • Breakpoints
  • List of watched variables and expressions
  • Partitioning between upper and lower dialog

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Sat Dec 31, 2011 12:27 pm
by frose
Antonio,

good idea to include the Profiler!

Wish you and all the others a happy new year and all the best

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Sat Dec 31, 2011 2:15 pm
by Antonio Linares
Frank,

Already inspecting locals, static, public and privates :-)

Image

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Sat Dec 31, 2011 4:22 pm
by frose
Antonio,

just found the reason for 'the difference between the shown and the actual executed row': commented lines longer than 256 characters!

NOT OK:
Code: Select all  Expand view
//   MsgInfo( "This is a long source line with dummy text! Eos legere aperiam expetenda ea. In omnes imperdiet sed, eius populo sapientem cu per. Cum te soluta officiis, vero utroque te mea, usu ei enim movet." + "Ne iracundia mnesarchum duo, an agam dolore consulatu est. Dicunt eleifend splendide vim at, at nec utroque ancillae. Posse doming postulant sed ex, ei vix timeam comprehensam." + CRLF + CRLF + ;
//      "Id qui altera persius repudiare, ea audire intellegebat vix. Est adhuc latine eu, in his minim laudem. Sea ea detracto nominavi. Ius ignota apeirian ut, ea has meliore sensibus constituto," + ;
//      "ad ullum summo omnesque per." )
 

OK:
Code: Select all  Expand view
//   MsgInfo( "This is a long source line with dummy text! Eos legere aperiam expetenda ea. In omnes imperdiet sed, eius populo sapientem cu per. Cum te soluta officiis, vero utroque te mea, usu ei enim movet." + "Ne iracundia mnesarchum duo, an agam
//dolore consulatu est. Dicunt eleifend splendide vim at, at nec utroque ancillae. Posse doming postulant sed ex, ei vix timeam comprehensam." + CRLF + CRLF + ;
//      "Id qui altera persius repudiare, ea audire intellegebat vix. Est adhuc latine eu, in his minim laudem. Sea ea detracto nominavi. Ius ignota apeirian ut, ea has meliore sensibus constituto," + ;
//      "ad ullum summo omnesque per." )
 

:D :D :D

Tests continues next year :wink:

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Tue Jan 14, 2020 4:53 pm
by Otto
Hello,
Does someone know if it is possible to run a batch file "my.bat" before starting the compiler via UEStudio?
Thanky in advance
Otto

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Wed Jan 15, 2020 12:21 am
by Giovany Vecchi
Yes, enter as many commands as you like

Edit APPLICATION
Code: Select all  Expand view

[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag =
ReleaseFlag =
Cmd0 = CMD /C DelDepend.bat
Cmd1 = ilink32 $(LOPT) $(Bcc_Dir)\LIB\c0w32.obj $FGO, $T,, $(LIBS),, $FGR
Cmd2 = $(Working Directory)\upx.exe  -1 --compress-icons=0 -o$(Working Directory)\$On2.EXE $(Working Directory)\$On.EXE
 

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Wed Jan 15, 2020 7:11 am
by Otto
Hello Giovany,
Thank you so much.
Now it is working fine.
Now I can call first HARBOURINO to batch the files and then the compiler.
Best regards
Otto

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

PostPosted: Wed Jan 15, 2020 3:09 pm
by Otto
Hello Giovany,
do you know how do call the bat-file that the next cmd waits till the batch file is closed.
(like waitrun).
Best regards
Otto