Trace support fixed

This commit is contained in:
Antonio Linares
2001-02-13 11:21:18 +00:00
parent 9d457277b7
commit 003a0b3d6d

View File

@@ -88,6 +88,9 @@ procedure __dbgEntry( uParam1, uParam2, uParam3 ) // debugger entry point
else
if ! s_oDebugger:lTrace
s_oDebugger:ShowCode( cModuleName )
else
ASize( s_oDebugger:aCallStack, Len( s_oDebugger:aCallStack ) + 1 )
AIns( s_oDebugger:aCallStack, 1 )
endif
s_oDebugger:LoadVars()
endif
@@ -141,11 +144,11 @@ procedure __dbgEntry( uParam1, uParam2, uParam3 ) // debugger entry point
return
endif
if s_oDebugger:lTrace
if s_oDebugger:lStopTrace
if s_oDebugger:nTraceLevel < Len( s_oDebugger:aCallStack )
return
else
s_oDebugger:lTrace = .f.
s_oDebugger:lStopTrace = .f.
endif
return
endif
if s_oDebugger:lGo
s_oDebugger:lGo := ! s_oDebugger:IsBreakPoint( uParam1 )
@@ -171,9 +174,6 @@ procedure __dbgEntry( uParam1, uParam2, uParam3 ) // debugger entry point
if s_oDebugger != nil
s_oDebugger:EndProc()
s_oDebugger:LoadVars()
if s_oDebugger:lTrace
s_oDebugger:lStopTrace = .t. // reset trace mode on next dbgentry
endif
endif
endcase
@@ -193,7 +193,7 @@ CLASS TDebugger
DATA cSearchString, cPathForFiles, cSettingsFileName
DATA nTabWidth, nSpeed
DATA lShowPublics, lShowPrivates, lShowStatics, lShowLocals, lAll
DATA lStopTrace
DATA nTraceLevel
METHOD New()
METHOD Activate( cModuleName )
@@ -269,7 +269,8 @@ CLASS TDebugger
METHOD ToggleBreakPoint()
METHOD Trace() INLINE ::lTrace := .t., __Keyboard( Chr( 255 ) ) //forces a Step()
METHOD Trace() INLINE ::lTrace := .t., ::nTraceLevel := Len( ::aCallStack ),;
__Keyboard( Chr( 255 ) ) //forces a Step()
METHOD ViewSets()
METHOD WndVarsLButtonDown( nMRow, nMCol )
@@ -316,7 +317,6 @@ METHOD New() CLASS TDebugger
::lAnimate := .f.
::lEnd := .f.
::lTrace := .f.
::lStopTrace := .f.
::aBreakPoints := {}
::aCallStack := {}
::lGo := .f.
@@ -696,7 +696,7 @@ METHOD EndProc() CLASS TDebugger
if Len( ::aCallStack ) > 1
ADel( ::aCallStack, 1 )
ASize( ::aCallStack, Len( ::aCallStack ) - 1 )
if ::oBrwStack != nil
if ::oBrwStack != nil .and. ! ::lTrace
::oBrwStack:RefreshAll()
endif
endif