DebugView.st
changeset 1265 3db375412f5d
parent 1263 b121ced63d32
child 1274 39f075433985
equal deleted inserted replaced
1264:6d8f690883f1 1265:3db375412f5d
    18 		continueButton stepButton nextButton nextOverButton nextOutButton
    18 		continueButton stepButton nextButton nextOverButton nextOutButton
    19 		sendButton returnButton restartButton exclusive inspecting
    19 		sendButton returnButton restartButton exclusive inspecting
    20 		nChainShown inspectedProcess updateProcess stopButton
    20 		nChainShown inspectedProcess updateProcess stopButton
    21 		updateButton monitorToggle stepping steppedContextLineno
    21 		updateButton monitorToggle stepping steppedContextLineno
    22 		stepForReturn actualContext inWrap stackInspector steppedContext
    22 		stepForReturn actualContext inWrap stackInspector steppedContext
    23 		wrapperContext verboseBacktrace firstContext stepHow'
    23 		wrapperContext verboseBacktrace firstContext stepHow cachable'
    24 	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
    24 	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
    25 		DebuggingDebugger VerboseBacktraceDefault DefaultIcon
    25 		DebuggingDebugger VerboseBacktraceDefault DefaultIcon
    26 		InitialNCHAINShown'
    26 		InitialNCHAINShown'
    27 	poolDictionaries:''
    27 	poolDictionaries:''
    28 	category:'Interface-Debugger'
    28 	category:'Interface-Debugger'
   241             CachedDebugger := nil.
   241             CachedDebugger := nil.
   242         ]
   242         ]
   243     ].
   243     ].
   244     ^ debugger
   244     ^ debugger
   245 
   245 
   246     "Modified: 14.4.1997 / 18:18:30 / cg"
   246     "Modified: 31.7.1997 / 21:20:27 / cg"
   247 !
   247 !
   248 
   248 
   249 newExclusive
   249 newExclusive
   250     "return a debugger for exclusive display access"
   250     "return a debugger for exclusive display access"
   251 
   251 
   522 
   522 
   523     |con selection m idx retval enteredByInterrupt sel con1 con2|
   523     |con selection m idx retval enteredByInterrupt sel con1 con2|
   524 
   524 
   525     verboseBacktrace := VerboseBacktraceDefault ? false.
   525     verboseBacktrace := VerboseBacktraceDefault ? false.
   526 
   526 
   527     busy := true.
   527     busy := cachable := true.
   528     inspecting := false.
   528     inspecting := false.
   529     inspectedProcess := Processor activeProcess.
   529     inspectedProcess := Processor activeProcess.
   530     stepping := false.
   530     stepping := false.
   531     bigStep := false.
   531     bigStep := false.
   532     stepHow := nil.
   532     stepHow := nil.
   936         ].
   936         ].
   937         self cacheMyself.
   937         self cacheMyself.
   938     ]
   938     ]
   939 
   939 
   940     "Created: 24.11.1995 / 19:52:54 / cg"
   940     "Created: 24.11.1995 / 19:52:54 / cg"
   941     "Modified: 27.3.1997 / 18:28:43 / cg"
       
   942     "Modified: 17.4.1997 / 13:01:32 / stefan"
   941     "Modified: 17.4.1997 / 13:01:32 / stefan"
       
   942     "Modified: 31.7.1997 / 21:18:38 / cg"
   943 !
   943 !
   944 
   944 
   945 openOn:aProcess
   945 openOn:aProcess
   946     "enter the debugger on a process - 
   946     "enter the debugger on a process - 
   947      in this case, we are just inspecting the context chain of the process,
   947      in this case, we are just inspecting the context chain of the process,
  2890     "remember myself for next debug session"
  2890     "remember myself for next debug session"
  2891 
  2891 
  2892     "caching the last debugger will make the next debugger appear
  2892     "caching the last debugger will make the next debugger appear
  2893      faster, since no resources have to be allocated in the display.
  2893      faster, since no resources have to be allocated in the display.
  2894      We have to be careful to release all refs to the debuggee, though.
  2894      We have to be careful to release all refs to the debuggee, though.
  2895      Otherwise, the GC will not be able to release it"
  2895      Otherwise, the GC will not be able to release it."
  2896 
  2896 
  2897     windowGroup notNil ifTrue:[
  2897     windowGroup notNil ifTrue:[
  2898         windowGroup setProcess:nil.
  2898         windowGroup setProcess:nil.
  2899     ].
  2899     ].
  2900 
  2900 
  2901     self releaseDebuggee.
  2901     self releaseDebuggee.
       
  2902 
       
  2903     cachable ~~ true ifTrue:[^ self].
  2902 
  2904 
  2903     "/
  2905     "/
  2904     "/ only cache if I am on the Display
  2906     "/ only cache if I am on the Display
  2905     "/
  2907     "/
  2906     device == Display ifTrue:[
  2908     device == Display ifTrue:[
  2909         ] ifFalse:[
  2911         ] ifFalse:[
  2910             CachedDebugger := self
  2912             CachedDebugger := self
  2911         ].
  2913         ].
  2912     ]
  2914     ]
  2913 
  2915 
  2914     "Modified: 15.2.1997 / 18:53:48 / cg"
       
  2915     "Modified: 10.7.1997 / 15:50:46 / stefan"
  2916     "Modified: 10.7.1997 / 15:50:46 / stefan"
       
  2917     "Modified: 31.7.1997 / 21:20:14 / cg"
  2916 !
  2918 !
  2917 
  2919 
  2918 isCached
  2920 isCached
  2919     "tell wether we are a cached debugger"
  2921     "tell wether we are a cached debugger"
  2920 
  2922 
  2957 !
  2959 !
  2958 
  2960 
  2959 uncacheMyself
  2961 uncacheMyself
  2960     "do not remember myself any longer for next debug session"
  2962     "do not remember myself any longer for next debug session"
  2961 
  2963 
       
  2964     |idx|
       
  2965 
       
  2966     cachable := false.
       
  2967 
  2962     CachedExclusive == self ifTrue:[
  2968     CachedExclusive == self ifTrue:[
  2963         CachedExclusive := nil.
  2969         CachedExclusive := nil.
  2964     ].
  2970     ].
  2965     CachedDebugger == self ifTrue:[
  2971     CachedDebugger == self ifTrue:[
  2966         CachedDebugger := nil.
  2972         CachedDebugger := nil.
  2967     ].
  2973     ].
  2968 
  2974     OpenDebuggers notNil ifTrue:[
  2969     "Created: 10.7.1997 / 14:25:23 / stefan"
  2975         idx := OpenDebuggers identityIndexOf:self.
       
  2976         idx ~~ 0 ifTrue:[
       
  2977             OpenDebuggers at:idx put:nil
       
  2978         ].
       
  2979     ].
       
  2980 
       
  2981     "Modified: 31.7.1997 / 21:20:11 / cg"
  2970 ! !
  2982 ! !
  2971 
  2983 
  2972 !DebugView methodsFor:'private control loop'!
  2984 !DebugView methodsFor:'private control loop'!
  2973 
  2985 
  2974 controlLoop
  2986 controlLoop
  3519 ! !
  3531 ! !
  3520 
  3532 
  3521 !DebugView class methodsFor:'documentation'!
  3533 !DebugView class methodsFor:'documentation'!
  3522 
  3534 
  3523 version
  3535 version
  3524     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.164 1997-07-31 15:07:18 cg Exp $'
  3536     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.165 1997-07-31 19:21:36 cg Exp $'
  3525 ! !
  3537 ! !
  3526 DebugView initialize!
  3538 DebugView initialize!