2008-08-16 02:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* contrib/hbmzip/hbmzip.c
     ! Fixed potential GPF in executable type detection.
       Fixes GCC 4.3.1 warnings in openSUSE 11.

   * tests/debugtst.prg
   * tests/funcarr.prg
   * tests/inherit.prg
   * tests/objarr.prg
   * tests/objasign.prg
   * doc/en/hvm.txt
   * doc/es/hvm.txt
   * include/hbextern.ch
   * source/vm/debug.c
   * source/vm/hvm.c
   * source/debug/dbgtobj.prg
   * source/debug/debugger.prg
   * source/rtl/altd.prg
     * Harbour level HB_DBG_*() functions renamed to __DBG*() to 
       reflect their internal nature.
     - Removed old __VM*() synonyms to Harbour level __DBG*() functions.
       INCOMPATIBLE.
     ! Fixed a few minor doc bugs along the way.
This commit is contained in:
Viktor Szakats
2008-08-16 00:21:13 +00:00
parent f881dc96ed
commit 3c38398a5d
16 changed files with 164 additions and 134 deletions

View File

@@ -8,6 +8,30 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-08-16 02:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbmzip/hbmzip.c
! Fixed potential GPF in executable type detection.
Fixes GCC 4.3.1 warnings in openSUSE 11.
* tests/debugtst.prg
* tests/funcarr.prg
* tests/inherit.prg
* tests/objarr.prg
* tests/objasign.prg
* doc/en/hvm.txt
* doc/es/hvm.txt
* include/hbextern.ch
* source/vm/debug.c
* source/vm/hvm.c
* source/debug/dbgtobj.prg
* source/debug/debugger.prg
* source/rtl/altd.prg
* Harbour level HB_DBG_*() functions renamed to __DBG*() to
reflect their internal nature.
- Removed old __VM*() synonyms to Harbour level __DBG*() functions.
INCOMPATIBLE.
! Fixed a few minor doc bugs along the way.
2008-08-14 18:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* ChangeLog
+ Added entry for yesterday's syncing/tagging.

View File

@@ -588,11 +588,11 @@ static ULONG hb_translateExtAttr( const char* szFileName, ULONG ulExtAttr )
iLen = ( int ) strlen( szFileName );
if( iLen > 4 )
{
if( hb_stricmp( szFileName - 4, ".exe" ) == 0 ||
hb_stricmp( szFileName - 4, ".com" ) == 0 ||
hb_stricmp( szFileName - 4, ".bat" ) == 0 ||
hb_stricmp( szFileName - 4, ".cmd" ) == 0 ||
hb_stricmp( szFileName - 3, ".sh" ) == 0 )
if( hb_stricmp( szFileName + iLen - 4, ".exe" ) == 0 ||
hb_stricmp( szFileName + iLen - 4, ".com" ) == 0 ||
hb_stricmp( szFileName + iLen - 4, ".bat" ) == 0 ||
hb_stricmp( szFileName + iLen - 4, ".cmd" ) == 0 ||
hb_stricmp( szFileName + iLen - 3, ".sh" ) == 0 )
{
ulExtAttr |= 0x00490000; /* --x--x--x */
}

View File

@@ -10,7 +10,7 @@
* Documentation for: PROCLINE(),PROCFILE(),PROCNAME()
*
* Copyright 1999 Eddie Ruina
* Documentation for: __VMVARLGET()
* Documentation for: __DBGVMVARLGET()
*
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
* Documentation for: CLIPINIT(), __SETHELPK()
@@ -383,13 +383,13 @@
/* $DOC$
* $FUNCNAME$
* __VMVARLGET()
* __DBGVMVARLGET()
* $CATEGORY$
* Variable Management
* $ONELINER$
* Retrive a local variable from a procedure level
* $SYNTAX$
* __VMVARLGET( <nProcLevel>, <nLocal> )
* __DBGVMVARLGET( <nProcLevel>, <nLocal> )
* $ARGUMENTS$
* <nProcLevel> Is the procedure level, same as used in ProcName()
* and ProcLine(), from which a local variable containts is going to

View File

@@ -9,13 +9,13 @@
* Copyright 2000 Alejandro de G rate <alex_degarate@hotmail.com>
* Documentaci¢n en Espa¤ol de:
* PROCNAME(), PROCLINE(), PROCFILE(), HB_PVALUE(), PCOUNT()
* __QUIT(), CLIPINIT(), __SetHelpK(), BREAK(), DO(), __VMVARLGET()
* __QUIT(), CLIPINIT(), __SetHelpK(), BREAK(), DO(), __DBGVMVARLGET()
*
* Copyright 1999 Jose Lanin <dezac@corevia.com>
* Documentaci¢n en Ingls de: PROCLINE(),PROCFILE(),PROCNAME()
*
* Copyright 1999 Eddie Ruina
* Documentaci¢n en Ingls de: __VMVARLGET()
* Documentaci¢n en Ingls de: __DBGVMVARLGET()
*
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
* Documentaci¢n en Ingls de: CLIPINIT(), __SETHELPK()
@@ -417,13 +417,13 @@
/* $DOC$
* $FUNCNAME$
* __VMVARLGET()
* __DBGVMVARLGET()
* $CATEGORY$
* Variable Management
* $ONELINER$
* Obtiene una variable LOCAL de un nivel de procedimiento
* $SYNTAX$
* __VMVARLGET( <nProcLevel>, <nLocal> )
* __DBGVMVARLGET( <nProcLevel>, <nLocal> )
* $ARGUMENTS$
* <nProcLevel> Es el nivel de procedimiento, el mismo que el usado
* en PROCNAME() y PROCLINE(), desde el cual una variable

View File

@@ -12,7 +12,7 @@ General
- Cleanup of MSVC C mode static initialization code.
- Changed internal representation for file attributes from USHORT to ULONG.
- Fixed memory leak in -gw mode.
- Portability fixes (Unicode, 64 bit, Pelles C 32/64 bit, WinCE, eVC4, XCC,
- Portability fixes (Unicode, 64-bit, Pelles C 32/64-bit, WinCE, eVC4, XCC,
Linux mouse detection, OpenWatcom).
- Deployment fixes.
- harbour.dll related fixes.
@@ -22,8 +22,8 @@ General
Core
=============================
- Fixed __HARBOUR__ macro on .prg level, when compiled with -u switch.
- HB_ARRAYID() moved to xhb.lib, synced with xhb and made 64 bit compatible.
- File handle usage cleanup and 64 bit compatibility.
- HB_ARRAYID() moved to xhb.lib, synced with xhb and made 64-bit compatible.
- File handle usage cleanup and 64-bit compatibility.
- Automatic destructors for .hrb modules.
- Added passing non-string parameters to .hrb functions.
- Fixed casting for indexes with key length greater than 196 bytes
@@ -74,11 +74,11 @@ Contrib
- hbcurl fixes, now using Harbour memory allocation functions,
now older libcurl versions are supported as well, CURL_EASY_GETINFO()
fixed for unsupported info types.
- 64bit compatibility fixes. hbmysql/SQLLISTF() function now
- 64-bit compatibility fixes. hbmysql/SQLLISTF() function now
uses pointer instead of numeric type.
- Fixed adordd to be _SET_EXACT independent.
- Fixed hbodbc tests to work out of the box.
- hbw32, hbodbc 64 bit fixes.
- hbw32, hbodbc 64-bit fixes.
- Fixed rddads to behave Clipper-like when trying to write
when on EOF position.
- Added OS version detection functions to hbw32.
@@ -90,9 +90,9 @@ Contrib
Known build issues
=============================
- Harbour with MSVC in 64 bit will only build in C++ mode.
- Harbour with MSVC in 64-bit will only build in C++ mode.
Use 'set HB_BUILD_MODE=cpp' and 'make_vc.bat'.
- Windows 64 bit builds may generate a large amount of type
- Windows 64-bit builds may generate a large amount of type
conversion warnings. This is currently normal and will be
addressed in a future version.
- Contrib hbfimage won't currently compile on Linux systems
@@ -117,7 +117,7 @@ General
other.
- Reviewed and fixed platforms issues and compiler warnings
for the contrib area in most part.
- Enhanced contrib 64bit Windows compatibility.
- Enhanced contrib 64-bit Windows compatibility.
Core
=============================
@@ -150,7 +150,7 @@ Contrib
- Added SQL_SPRINTF() to hbmisc contrib.
- Enhanced STRFORMAT() in hbmisc contrib.
- Enabled hbgf contrib for all (Linux, OS/2, Windows) platforms.
- Due to fixing 64bit portability problems, some functions became
- Due to fixing 64-bit portability problems, some functions became
incompatible, because numeric addresses have been converted to
pointer types:
- hbwhat32: wndproc/dlgproc parameters in related functions.
@@ -192,7 +192,7 @@ Portability
WinCE.
- added support for MS-Windows UNICDE builds.
- added support for shared libraries (.sl) in HPUX builds
- added large file support (64bit) in HPUX builds
- added large file support (64-bit) in HPUX builds
- disabled in default BSD* builds DOS/Windows DENY_* flags emulation
implemented by BSD locks - tests on FreeBSD 6.2 and MacOSX shows
that it badly interacts with POSIX locks and it's possible to create
@@ -339,7 +339,7 @@ RTL
- added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions strip
trailing and leading spaces from file names to emulate DOS like behavior
- added support for _SET_DEFEXTENSIONS to native all RDDs
- many fixes in transform() function and fixed 64bit integer transformation.
- many fixes in transform() function and fixed 64-bit integer transformation.
Now transform() passes our all compatibility tests
- added undocumented Clipper error functions
- added functions to manage .ini files: HB_INI*()
@@ -700,7 +700,7 @@ API
- Optimized __CLSADDMSG() to call hb_parc() only once instead of 25
times for most cases.
- Synced file IO with xHarbour, it fixed some problems, added some
missing functionality and long (64bit) file support for Windows.
missing functionality and long (64-bit) file support for Windows.
- hb_DiskSpace() changed to not give a runtime error in case of any
error, but set the FError() value instead.
- Added C -> OS file error translations - not perfect but better than
@@ -780,7 +780,7 @@ RDD
- Fixed ordKeyPos() for records out of scope.
- Implemented RDD level transforms (COPY TO/APPEND FROM).
- Long file support for all native RDDs. Now the maximum file size
is reduced only by its structure if OS/file system supports 64bit
is reduced only by its structure if OS/file system supports 64-bit
file IO, f.e. for DBF it's 2^32 records. For memos it's:
2^32 * MemoBlockSize, etc.
- Synhronize RDD code with xHarbour.
@@ -870,7 +870,7 @@ The compiler
Symbol of function name never share a symbol of variable
Symbol for INIT/EXIT procedure has now '$' suffix - this means that
such procedures cannot be called from user code (Clipper compatible)
- Harbour now Run on 64 bits !
- Harbour now Run on 64-bits !
- Some small optimizations in harbour/source/vm/itemapi.c
The runtime modules
@@ -911,7 +911,7 @@ The runtime modules
- Add the missing Greek language and codepage files.
- Added Spanish Modern codepage
- Synced HB CDP API with xHarbour - added basic Unicode support
- Added functions hb_fsLockLarge() and hb_fsSeekLarge() which uses 64bit
- Added functions hb_fsLockLarge() and hb_fsSeekLarge() which uses 64-bit
offsets in filesys.c for files larger than 2Gb
RDD

View File

@@ -545,22 +545,22 @@ EXTERNAL __EINSTVAR53
/* The debugger interface */
EXTERNAL HB_DBG_INVOKEDEBUG
EXTERNAL HB_DBG_VMPARLLIST
EXTERNAL HB_DBG_VMSTKGCOUNT
EXTERNAL HB_DBG_VMSTKGLIST
EXTERNAL HB_DBG_VMSTKLCOUNT
EXTERNAL HB_DBG_VMSTKLLIST
EXTERNAL HB_DBG_VMVARGGET
EXTERNAL HB_DBG_VMVARGLIST
EXTERNAL HB_DBG_VMVARGSET
EXTERNAL HB_DBG_VMVARLGET
EXTERNAL HB_DBG_VMVARLSET
EXTERNAL HB_DBG_VMVARSGET
EXTERNAL HB_DBG_VMVARSSET
EXTERNAL HB_DBG_VMVARSLEN
EXTERNAL HB_DBG_VMVARSLIST
EXTERNAL HB_DBG_PROCLEVEL
EXTERNAL __DBGINVOKEDEBUG
EXTERNAL __DBGVMPARLLIST
EXTERNAL __DBGVMSTKGCOUNT
EXTERNAL __DBGVMSTKGLIST
EXTERNAL __DBGVMSTKLCOUNT
EXTERNAL __DBGVMSTKLLIST
EXTERNAL __DBGVMVARGGET
EXTERNAL __DBGVMVARGLIST
EXTERNAL __DBGVMVARGSET
EXTERNAL __DBGVMVARLGET
EXTERNAL __DBGVMVARLSET
EXTERNAL __DBGVMVARSGET
EXTERNAL __DBGVMVARSSET
EXTERNAL __DBGVMVARSLEN
EXTERNAL __DBGVMVARSLIST
EXTERNAL __DBGPROCLEVEL
/* RDD related symbols */

View File

@@ -355,12 +355,12 @@ STATIC FUNCTION __dbgObjGetValue( oObject, cVar, lCanAcc )
LOCAL oErr
BEGIN SEQUENCE WITH {|| break() }
xResult := HB_DBG_SENDMSG( nProcLevel, oObject, cVar )
xResult := __dbgSENDMSG( nProcLevel, oObject, cVar )
lCanAcc := .T.
RECOVER
BEGIN SEQUENCE WITH {|oErr| break( oErr ) }
/* Try to access variables using class code level */
xResult := HB_DBG_SENDMSG( 0, oObject, cVar )
xResult := __dbgSENDMSG( 0, oObject, cVar )
lCanAcc := .T.
RECOVER USING oErr
xResult := oErr:description
@@ -376,11 +376,11 @@ STATIC FUNCTION __dbgObjSetValue( oObject, cVar, xValue )
LOCAL oErr
BEGIN SEQUENCE WITH {|| break() }
HB_DBG_SENDMSG( nProcLevel, oObject, "_" + cVar, xValue )
__dbgSENDMSG( nProcLevel, oObject, "_" + cVar, xValue )
RECOVER
BEGIN SEQUENCE WITH {|oErr| break( oErr ) }
/* Try to access variables using class code level */
HB_DBG_SENDMSG( 0, oObject, "_" + cVar, xValue )
__dbgSENDMSG( 0, oObject, "_" + cVar, xValue )
RECOVER USING oErr
Alert( oErr:description )
END SEQUENCE

View File

@@ -114,7 +114,7 @@ PROCEDURE __dbgAltDEntry()
where ALTD() was called can have no debugger info - stop
on first LINE with debugged info
*/
hb_DBG_INVOKEDEBUG( Set( _SET_DEBUG ) )
__dbgINVOKEDEBUG( Set( _SET_DEBUG ) )
RETURN
@@ -126,7 +126,7 @@ PROCEDURE __dbgEntry( nMode, uParam1, uParam2, uParam3, uParam4, uParam5 )
DO CASE
CASE nMode == HB_DBG_GETENTRY
hb_DBG_SetEntry()
__dbgSetEntry()
CASE nMode == HB_DBG_ACTIVATE
@@ -140,7 +140,7 @@ PROCEDURE __dbgEntry( nMode, uParam1, uParam2, uParam3, uParam4, uParam5 )
s_oDebugger:aBreakPoints := uParam5
IF lStartup
IF s_oDebugger:lRunAtStartup
hb_DBG_SetGo( uParam1 )
__dbgSetGo( uParam1 )
RETURN
ENDIF
ENDIF
@@ -648,7 +648,7 @@ METHOD CallStackProcessKey( nKey ) CLASS HBDebugger
METHOD CodeblockTrace()
::oPullDown:GetItemByIdent( "CODEBLOCK" ):checked := ::lCBTrace := ! ::lCBTrace
hb_DBG_SetCBTrace( ::pInfo, ::lCBTrace )
__dbgSetCBTrace( ::pInfo, ::lCBTrace )
RETURN NIL
@@ -1234,7 +1234,7 @@ METHOD GetExprValue( xExpr, lValid ) CLASS HBDebugger
lValid := .F.
BEGIN SEQUENCE
xResult := hb_DBG_GetExprValue( ::pInfo, xExpr, @lValid )
xResult := __dbgGetExprValue( ::pInfo, xExpr, @lValid )
IF !lValid
xResult := "Syntax error"
ENDIF
@@ -1253,7 +1253,7 @@ METHOD GetExprValue( xExpr, lValid ) CLASS HBDebugger
METHOD GetSourceFiles() CLASS HBDebugger
RETURN hb_DBG_GetSourceFiles( ::pInfo )
RETURN __dbgGetSourceFiles( ::pInfo )
METHOD Global() CLASS HBDebugger
@@ -1270,7 +1270,7 @@ METHOD Go() CLASS HBDebugger
ENDIF
::RestoreAppScreen()
::RestoreAppState()
hb_DBG_SetGo( ::pInfo )
__dbgSetGo( ::pInfo )
::Exit()
RETURN NIL
@@ -1329,7 +1329,7 @@ METHOD HandleEvent() CLASS HBDebugger
IF ::nSpeed != 0
Inkey( ::nSpeed / 10 )
ENDIF
IF hb_DBG_INVOKEDEBUG() //NextKey() == K_ALT_D
IF __dbgINVOKEDEBUG() //NextKey() == K_ALT_D
::lAnimate := .F.
ELSE
::Step()
@@ -1654,7 +1654,7 @@ METHOD Inspect( uValue, cValueName ) CLASS HBDebugger
METHOD IsValidStopLine( cName, nLine ) CLASS HBDebugger
RETURN hb_DBG_IsValidStopLine( ::pInfo, cName, nLine )
RETURN __dbgIsValidStopLine( ::pInfo, cName, nLine )
METHOD LineNumbers( lLineNumbers ) CLASS HBDebugger
@@ -1716,7 +1716,7 @@ METHOD LoadCallStack() CLASS HBDebugger
::aProcStack := Array( ::nProcLevel )
nCurrLevel := hb_dbg_ProcLevel() - 1
nCurrLevel := __dbgProcLevel() - 1
nDebugLevel := nCurrLevel - ::nProcLevel + 1
FOR i := nDebugLevel TO nCurrLevel
@@ -1908,7 +1908,7 @@ METHOD MonoDisplay() CLASS HBDebugger
METHOD NextRoutine() CLASS HBDebugger
::RestoreAppScreen()
::RestoreAppState()
hb_DBG_SetNextRoutine( ::pInfo )
__dbgSetNextRoutine( ::pInfo )
::Exit()
RETURN Self
@@ -2070,7 +2070,7 @@ METHOD Quit() CLASS HBDebugger
::Exit()
::Hide()
hb_DBG_SetQuit( ::pInfo )
__dbgSetQuit( ::pInfo )
s_oDebugger := NIL
__QUIT()
@@ -2793,7 +2793,7 @@ METHOD Step() CLASS HBDebugger
METHOD ToCursor() CLASS HBDebugger
IF ::IsValidStopLine( strip_path( ::cPrgName ), ::oBrwText:RowPos() )
hb_DBG_SetToCursor( ::pInfo, strip_path( ::cPrgName ), ::oBrwText:RowPos() )
__dbgSetToCursor( ::pInfo, strip_path( ::cPrgName ), ::oBrwText:RowPos() )
::RestoreAppScreen()
::RestoreAppState()
::Exit()
@@ -2828,14 +2828,14 @@ METHOD ToggleBreakPoint( nLine, cFileName ) CLASS HBDebugger
IF nAt == 0
AAdd( ::aBreakPoints, { nLine, cFileName } ) // it was nLine
hb_DBG_AddBreak( ::pInfo, cFileName, nLine )
__dbgAddBreak( ::pInfo, cFileName, nLine )
IF hb_FileMatch( cFileName, strip_path( ::cPrgName ) )
::oBrwText:ToggleBreakPoint( nLine, .T. )
ENDIF
ELSE
ADel( ::aBreakPoints, nAt )
ASize( ::aBreakPoints, Len( ::aBreakPoints ) - 1 )
hb_DBG_DelBreak( ::pInfo, nAt - 1 )
__dbgDelBreak( ::pInfo, nAt - 1 )
IF hb_FileMatch( cFileName, strip_path( ::cPrgName ) )
::oBrwText:ToggleBreakPoint( nLine, .F. )
ENDIF
@@ -2848,7 +2848,7 @@ METHOD ToggleBreakPoint( nLine, cFileName ) CLASS HBDebugger
METHOD Trace() CLASS HBDebugger
hb_DBG_SetTrace( ::pInfo )
__dbgSetTrace( ::pInfo )
::Step() //forces a Step()
RETURN Self
@@ -2871,7 +2871,7 @@ METHOD TracepointAdd( cExpr ) CLASS HBDebugger
ENDIF
aWatch := { "tp", cExpr, NIL }
::RestoreAppState()
hb_DBG_AddWatch( ::pInfo, cExpr, .T. )
__dbgAddWatch( ::pInfo, cExpr, .T. )
::SaveAppState()
AAdd( ::aWatch, aWatch )
::WatchpointsShow()
@@ -2901,9 +2901,9 @@ METHOD VarGetValue( aVar ) CLASS HBDebugger
LOCAL cType := Left( aVar[ VAR_TYPE ], 1 )
DO CASE
CASE cType == "G" ; RETURN hb_dbg_vmVarGGet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
CASE cType == "L" ; RETURN hb_dbg_vmVarLGet( hb_dbg_procLevel() - aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
CASE cType == "S" ; RETURN hb_dbg_vmVarSGet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
CASE cType == "G" ; RETURN __dbgvmVarGGet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
CASE cType == "L" ; RETURN __dbgvmVarLGet( __dbgprocLevel() - aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
CASE cType == "S" ; RETURN __dbgvmVarSGet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ] )
OTHERWISE ; RETURN aVar[ VAR_POS ] // Public or Private
ENDCASE
@@ -2918,14 +2918,14 @@ METHOD VarSetValue( aVar, uValue ) CLASS HBDebugger
LOCAL cType := Left( aVar[ VAR_TYPE ], 1 )
IF cType == "G"
hb_dbg_vmVarGSet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ], uValue )
__dbgvmVarGSet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ], uValue )
ELSEIF cType == "L"
nProcLevel := hb_dbg_procLevel() - aVar[ VAR_LEVEL ] //skip debugger stack
hb_dbg_vmVarLSet( nProcLevel, aVar[ VAR_POS ], uValue )
nProcLevel := __dbgprocLevel() - aVar[ VAR_LEVEL ] //skip debugger stack
__dbgvmVarLSet( nProcLevel, aVar[ VAR_POS ], uValue )
ELSEIF cType == "S"
hb_dbg_vmVarSSet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ], uValue )
__dbgvmVarSSet( aVar[ VAR_LEVEL ], aVar[ VAR_POS ], uValue )
ELSE
// Public or Private
@@ -3025,7 +3025,7 @@ METHOD WatchpointAdd( cExpr ) CLASS HBDebugger
ENDIF
aWatch := { "wp", cExpr }
hb_DBG_AddWatch( ::pInfo, cExpr, .F. )
__dbgAddWatch( ::pInfo, cExpr, .F. )
AAdd( ::aWatch, aWatch )
::WatchpointsShow()
@@ -3044,7 +3044,7 @@ METHOD WatchpointDel( nPos ) CLASS HBDebugger
IF LastKey() != K_ESC
IF nPos >=0 .AND. nPos < Len( ::aWatch )
::oBrwPnt:gotop()
hb_DBG_DelWatch( ::pInfo, nPos )
__dbgDelWatch( ::pInfo, nPos )
ADel( ::aWatch, nPos + 1 )
ASize( ::aWatch, Len( ::aWatch ) - 1 )
IF Len( ::aWatch ) == 0
@@ -3079,7 +3079,7 @@ METHOD WatchpointEdit( nPos ) CLASS HBDebugger
aWatch := { "wp", cExpr }
hb_DBG_SetWatch( ::pInfo, nPos - 1, cExpr, .F. )
__dbgSetWatch( ::pInfo, nPos - 1, cExpr, .F. )
::aWatch[ nPos ] := aWatch
::WatchpointsShow()

View File

@@ -66,7 +66,7 @@ PROCEDURE AltD( nAction )
where ALTD() was called can have no debugger info - stop
on first LINE with debugged info
*/
HB_DBG_INVOKEDEBUG( SET( _SET_DEBUG ) )
__dbgINVOKEDEBUG( SET( _SET_DEBUG ) )
ELSEIF HB_ISNUMERIC( nAction )

View File

@@ -83,19 +83,19 @@ static void AddToArray( PHB_ITEM pItem, PHB_ITEM pReturn, ULONG ulPos )
}
/* $Doc$
* $FuncName$ <nVars> hb_dbg_vmStkGCount()
* $FuncName$ <nVars> __dbgvmStkGCount()
* $Description$ Returns the length of the global stack
* $End$ */
HB_FUNC( HB_DBG_VMSTKGCOUNT )
HB_FUNC( __DBGVMSTKGCOUNT )
{
hb_retnl( hb_stackTopOffset() );
}
/* $Doc$
* $FuncName$ <aStack> hb_dbg_vmStkGList()
* $FuncName$ <aStack> __dbgvmStkGList()
* $Description$ Returns the global stack
* $End$ */
HB_FUNC( HB_DBG_VMSTKGLIST )
HB_FUNC( __DBGVMSTKGLIST )
{
PHB_ITEM pReturn;
ULONG ulLen = hb_stackTopOffset();
@@ -111,7 +111,7 @@ HB_FUNC( HB_DBG_VMSTKGLIST )
}
/* $Doc$
* $FuncName$ <nVars> __vmStkLCount( <nProcLevel> )
* $FuncName$ <nVars> hb_stackLen( <nProcLevel> )
* $Description$ Returns params plus locals amount of the nProcLevel function
* $End$ */
static LONG hb_stackLen( int iLevel )
@@ -136,16 +136,16 @@ static LONG hb_stackLen( int iLevel )
}
/* $Doc$
* $FuncName$ <nVars> hb_dbg_vmStkLCount( <nProcLevel> )
* $FuncName$ <nVars> __dbgvmStkLCount( <nProcLevel> )
* $Description$ Returns params plus locals amount of the nProcLevel function
* $End$ */
HB_FUNC( HB_DBG_VMSTKLCOUNT )
HB_FUNC( __DBGVMSTKLCOUNT )
{
hb_retnl( hb_stackLen( hb_parni( 1 ) + 1 ) );
}
/* $Doc$
* $FuncName$ <aStack> hb_dbg_vmStkLList()
* $FuncName$ <aStack> __dbgvmStkLList()
* $Description$ Returns the stack of the calling function
* "[<symbol>]" Means symbol.
*
@@ -155,7 +155,7 @@ HB_FUNC( HB_DBG_VMSTKLCOUNT )
* [x+1 .. y] Locals
* [y+1 ..] Pushed data
* $End$ */
HB_FUNC( HB_DBG_VMSTKLLIST )
HB_FUNC( __DBGVMSTKLLIST )
{
PHB_ITEM pReturn;
ULONG ulLen, ul;
@@ -173,13 +173,13 @@ HB_FUNC( HB_DBG_VMSTKLLIST )
}
/* $Doc$
* $FuncName$ <aParam> hb_dbg_vmParLGet()
* $FuncName$ <aParam> __dbgvmParLGet()
* $Description$ Returns the passed parameters of the calling function
* $End$ */
/* TODO : put bLocals / bParams */
/* somewhere for declared parameters */
/* and locals */
HB_FUNC( HB_DBG_VMPARLLIST )
HB_FUNC( __DBGVMPARLLIST )
{
hb_itemReturnRelease( hb_arrayFromParams( hb_parni( 1 ) + 1 ) );
}
@@ -221,7 +221,7 @@ HB_EXPORT PHB_ITEM hb_dbg_vmVarLGet( int iLevel, int iLocal )
return pLocal;
}
HB_FUNC( HB_DBG_VMVARLGET )
HB_FUNC( __DBGVMVARLGET )
{
int iLevel = hb_parni( 1 ) + 1;
int iLocal = hb_parni( 2 );
@@ -233,7 +233,7 @@ HB_FUNC( HB_DBG_VMVARLGET )
hb_errRT_BASE( EG_ARG, 6005, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
HB_FUNC( HB_DBG_VMVARLSET )
HB_FUNC( __DBGVMVARLSET )
{
int iLevel = hb_parni( 1 ) + 1;
int iLocal = hb_parni( 2 );
@@ -269,37 +269,41 @@ HB_FUNC( HB_DBG_VMVARLSET )
}
}
#if 0
HB_FUNC( __VMSTKLCOUNT )
{
HB_FUNC_EXEC( HB_DBG_VMSTKLCOUNT );
HB_FUNC_EXEC( __DBGVMSTKLCOUNT );
}
HB_FUNC( __VMPARLLIST )
{
HB_FUNC_EXEC( HB_DBG_VMPARLLIST );
HB_FUNC_EXEC( __DBGVMPARLLIST );
}
HB_FUNC( __VMSTKLLIST )
{
HB_FUNC_EXEC( HB_DBG_VMSTKLLIST );
HB_FUNC_EXEC( __DBGVMSTKLLIST );
}
HB_FUNC( __VMVARLGET )
{
HB_FUNC_EXEC( HB_DBG_VMVARLGET );
HB_FUNC_EXEC( __DBGVMVARLGET );
}
HB_FUNC( __VMVARLSET )
{
HB_FUNC_EXEC( HB_DBG_VMVARLSET );
HB_FUNC_EXEC( __DBGVMVARLSET );
}
HB_FUNC( __VMSTKGLIST )
{
HB_FUNC_EXEC( HB_DBG_VMSTKGLIST );
HB_FUNC_EXEC( __DBGVMSTKGLIST );
}
HB_FUNC( __VMSTKGCOUNT )
{
HB_FUNC_EXEC( HB_DBG_VMSTKGCOUNT );
HB_FUNC_EXEC( __DBGVMSTKGCOUNT );
}
#endif

View File

@@ -59,8 +59,8 @@
* hb_vmPushDoubleConst()
*
* Copyright 1999 Eddie Runia <eddie@runia.com>
* __VMVARSGET()
* __VMVARSLIST()
* __DBGVMVARSGET()
* __DBGVMVARSLIST()
*
* See doc/license.txt for licensing terms.
*
@@ -9542,7 +9542,7 @@ HB_EXPORT ULONG hb_dbg_ProcLevel( void )
* check if the debugger activation was requested or request the debugger
* activation if .T. is passed
*/
HB_FUNC( HB_DBG_INVOKEDEBUG )
HB_FUNC( __DBGINVOKEDEBUG )
{
BOOL bRequest = s_bDebugRequest;
if( hb_pcount() > 0 )
@@ -9553,10 +9553,10 @@ HB_FUNC( HB_DBG_INVOKEDEBUG )
}
/* $Doc$
* $FuncName$ <aStat> __vmVarSList()
* $FuncName$ <aStat> __dbgvmVarSList()
* $Description$ Return the statics array. Please aClone before assignments
* $End$ */
HB_FUNC( HB_DBG_VMVARSLIST )
HB_FUNC( __DBGVMVARSLIST )
{
PHB_ITEM pStatics = hb_itemClone( &s_aStatics );
@@ -9564,35 +9564,35 @@ HB_FUNC( HB_DBG_VMVARSLIST )
}
/* $Doc$
* $FuncName$ <nStatics> __vmVarSLen()
* $FuncName$ <nStatics> __dbgvmVarSLen()
* $Description$ Return the statics array length.
* $End$ */
HB_FUNC( HB_DBG_VMVARSLEN )
HB_FUNC( __DBGVMVARSLEN )
{
hb_retnl( hb_arrayLen( &s_aStatics ) );
}
/* $Doc$
* $FuncName$ <xStat> __vmVarSGet(<nStatic>)
* $FuncName$ <xStat> __dbgvmVarSGet(<nStatic>)
* $Description$ Return a specified statics
* $End$ */
HB_FUNC( HB_DBG_VMVARSGET )
HB_FUNC( __DBGVMVARSGET )
{
hb_itemReturn( hb_dbg_vmVarSGet( hb_parni( 1 ), hb_parni( 2 ) ) );
}
/* $Doc$
* $FuncName$ __vmVarSSet(<nStatic>,<uValue>)
* $FuncName$ __dbgvmVarSSet(<nStatic>,<uValue>)
* $Description$ Sets the value of a specified statics
* $End$ */
HB_FUNC( HB_DBG_VMVARSSET )
HB_FUNC( __DBGVMVARSSET )
{
PHB_ITEM pItem = hb_param( 3, HB_IT_ANY );
if( pItem )
hb_arraySet( &s_aStatics, hb_parni( 1 ) + hb_parni( 2 ), pItem );
}
HB_FUNC( HB_DBG_PROCLEVEL )
HB_FUNC( __DBGPROCLEVEL )
{
hb_retnl( hb_dbg_ProcLevel() - 1 ); /* Don't count self */
}
@@ -9623,10 +9623,10 @@ HB_EXPORT PHB_ITEM hb_dbg_vmVarGGet( int nGlobal, int nOffset )
}
/* $Doc$
* $FuncName$ <aStat> __vmVarGList()
* $FuncName$ <aStat> __dbgvmVarGList()
* $Description$ Return a clone of the globals array.
* $End$ */
HB_FUNC( HB_DBG_VMVARGLIST )
HB_FUNC( __DBGVMVARGLIST )
{
#if 0
PHB_ITEM pGlobals = hb_itemClone( &s_aGlobals );
@@ -9637,12 +9637,12 @@ HB_FUNC( HB_DBG_VMVARGLIST )
hb_itemReturnRelease( pGlobals );
}
HB_FUNC( HB_DBG_VMVARGGET )
HB_FUNC( __DBGVMVARGGET )
{
hb_itemReturn( hb_dbg_vmVarGGet( hb_parni( 1 ), hb_parni( 2 ) ) );
}
HB_FUNC( HB_DBG_VMVARGSET )
HB_FUNC( __DBGVMVARGSET )
{
#if 0
PHB_ITEM pItem = hb_param( 3, HB_IT_ANY );
@@ -9725,32 +9725,34 @@ HB_FUNC( __OPGETPRF ) /* profiler: It returns an array with an opcode called and
}
}
#if 0
HB_FUNC( __VMVARGLIST )
{
HB_FUNC_EXEC( HB_DBG_VMVARGLIST );
HB_FUNC_EXEC( __DBGVMVARGLIST );
}
HB_FUNC( __VMVARSLIST )
{
HB_FUNC_EXEC( HB_DBG_VMVARSLIST );
HB_FUNC_EXEC( __DBGVMVARSLIST );
}
HB_FUNC( __VMVARSLEN )
{
HB_FUNC_EXEC( HB_DBG_VMVARSLEN );
HB_FUNC_EXEC( __DBGVMVARSLEN );
}
HB_FUNC( __VMVARSGET )
{
HB_FUNC_EXEC( HB_DBG_VMVARSGET );
HB_FUNC_EXEC( __DBGVMVARSGET );
}
HB_FUNC( __VMVARSSET )
{
HB_FUNC_EXEC( HB_DBG_VMVARSSET );
HB_FUNC_EXEC( __DBGVMVARSSET );
}
#endif
HB_FUNC( ERRORLEVEL )
{

View File

@@ -50,16 +50,16 @@ function Main()
QOut( "-DEBUG Functions-")
QOut( "-Statics-" )
Debug( hb_dbg_vmVarSList() )
Debug( __dbgvmVarSList() )
QOut( "-Global Stack-" )
Debug ( hb_dbg_vmStkGList() )
Debug ( __dbgvmStkGList() )
QOut( "-Local Stack-" )
Debug ( hb_dbg_vmStkLList() )
Debug ( __dbgvmStkLList() )
QOut( "-Parameters-" )
Debug ( hb_dbg_vmParLList() )
Debug ( __dbgvmParLList() )
Pause()
@@ -84,19 +84,19 @@ function FuncSecond( nParam, cParam, uParam )
QOut()
QOut( "-Statics-" )
Debug ( hb_dbg_vmVarSList() )
Debug ( __dbgvmVarSList() )
QOut()
QOut( "-Global Stack- Len=", hb_dbg_vmStkGCount() )
Debug ( hb_dbg_vmStkGList() )
QOut( "-Global Stack- Len=", __dbgvmStkGCount() )
Debug ( __dbgvmStkGList() )
QOut()
QOut( "-Local Stack- Len=", hb_dbg_vmStkLCount() )
xStack := Debug ( hb_dbg_vmStkLList() )
QOut( "-Local Stack- Len=", __dbgvmStkLCount() )
xStack := Debug ( __dbgvmStkLList() )
QOut()
QOut( "-Parameters-" )
xParam := Debug( hb_dbg_vmParLList() )
xParam := Debug( __dbgvmParLList() )
if xParam[ xStack[ 7 ] ] == "Hello"
QOut( ":-)" )
endif
@@ -226,7 +226,7 @@ return nil
static function Transfer( x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 /* etc */ )
local self := QSelf()
local aParam := hb_dbg_vmParLList()
local aParam := __dbgvmParLList()
local nLen := PCount()
local xRet
local xData

View File

@@ -50,9 +50,9 @@ Function Main
QOut( "To the power 3 : ", aFunc()[1] )
QOut( "Global stack" )
Debug( hb_dbg_vmStkGList() ) // Please note a is a reference to aArray !
Debug( __dbgvmStkGList() ) // Please note a is a reference to aArray !
QOut( "Statics")
Debug( hb_dbg_vmVarSList() )
Debug( __dbgvmVarSList() )
return NIL
Function aFunc()

View File

@@ -56,7 +56,7 @@ function Main()
oFrom:Dispose()
oTo:Dispose()
// Debug( hb_dbg_vmStkGList() ) // Stack is OK!
// Debug( __dbgvmStkGList() ) // Stack is OK!
return nil

View File

@@ -55,9 +55,9 @@ Function Main
QOut( "To the power 3 : ", ToChar( o:x ) )
QOut( "Global stack" )
Debug( hb_dbg_vmStkGList() )
Debug( __dbgvmStkGList() )
QOut( "Statics")
Debug( hb_dbg_vmVarSList() )
Debug( __dbgvmVarSList() )
return NIL
Function TNumber() // Very simple class

View File

@@ -47,9 +47,9 @@ Function Main
QOut( "To the power 3 : ", o:x )
QOut( "Global stack" )
Debug( hb_dbg_vmStkGList() )
Debug( __dbgvmStkGList() )
QOut( "Statics")
Debug( hb_dbg_vmVarSList() )
Debug( __dbgvmVarSList() )
return NIL
Function TNumber() // Very simple class