DebugView.st
changeset 940 b27a64095304
parent 939 0e700c9bd085
child 941 3e25ae37eb56
equal deleted inserted replaced
939:0e700c9bd085 940:b27a64095304
   768             ].
   768             ].
   769             'DebugView [warning]: cannot terminate process' errorPrintCR
   769             'DebugView [warning]: cannot terminate process' errorPrintCR
   770         ]
   770         ]
   771     ].
   771     ].
   772 
   772 
   773     selectedContext := actualContext := nil.
   773     selectedContext := actualContext := firstContext := nil.
   774 
   774 
   775     grabber notNil ifTrue:[
   775     grabber notNil ifTrue:[
   776         device grabPointerInView:grabber.
   776         device grabPointerInView:grabber.
   777         grabber := nil.
   777         grabber := nil.
   778     ].
   778     ].
   863         self cacheMyself.
   863         self cacheMyself.
   864     ]
   864     ]
   865 
   865 
   866     "Created: 24.11.1995 / 19:52:54 / cg"
   866     "Created: 24.11.1995 / 19:52:54 / cg"
   867     "Modified: 3.5.1996 / 23:58:16 / stefan"
   867     "Modified: 3.5.1996 / 23:58:16 / stefan"
   868     "Modified: 11.1.1997 / 13:25:07 / cg"
   868     "Modified: 11.1.1997 / 13:55:56 / cg"
   869 !
   869 !
   870 
   870 
   871 openOn:aProcess
   871 openOn:aProcess
   872     "enter the debugger on a process - 
   872     "enter the debugger on a process - 
   873      in this case, we are just inspecting the context chain of the process,
   873      in this case, we are just inspecting the context chain of the process,
   955         self setContextSkippingInterruptContexts:aProcess suspendedContext.
   955         self setContextSkippingInterruptContexts:aProcess suspendedContext.
   956 
   956 
   957         catchBlock := [
   957         catchBlock := [
   958             catchBlock := nil.
   958             catchBlock := nil.
   959             contextArray := nil.
   959             contextArray := nil.
   960             selectedContext := actualContext := nil.
   960             selectedContext := actualContext := firstContext := nil.
   961             steppedContext := wrapperContext := nil.
   961             steppedContext := wrapperContext := nil.
   962 
   962 
   963             (exitAction == #terminate) ifTrue:[
   963             (exitAction == #terminate) ifTrue:[
   964                 aProcess terminate.
   964                 aProcess terminate.
   965             ].
   965             ].
   969             super destroy
   969             super destroy
   970         ].
   970         ].
   971     ].
   971     ].
   972     self open
   972     self open
   973 
   973 
   974     "Modified: 11.1.1997 / 12:23:49 / cg"
   974     "Modified: 11.1.1997 / 13:55:59 / cg"
   975 ! !
   975 ! !
   976 
   976 
   977 !DebugView methodsFor:'help'!
   977 !DebugView methodsFor:'help'!
   978 
   978 
   979 helpTextFor:aComponent
   979 helpTextFor:aComponent
  2327     receiverInspector release.
  2327     receiverInspector release.
  2328     contextInspector release.
  2328     contextInspector release.
  2329     inspectedProcess := nil.
  2329     inspectedProcess := nil.
  2330     exitAction := nil.
  2330     exitAction := nil.
  2331     contextArray := nil.
  2331     contextArray := nil.
  2332     selectedContext := actualContext := nil.
  2332     selectedContext := actualContext := firstContext := nil.
  2333     steppedContext := wrapperContext := nil.
  2333     steppedContext := wrapperContext := nil.
  2334     catchBlock := nil.
  2334     catchBlock := nil.
  2335     grabber := nil.
  2335     grabber := nil.
  2336     self autoUpdateOff.
  2336     self autoUpdateOff.
  2337 
  2337 
  2338     exclusive ifTrue:[CachedExclusive := self] ifFalse:[CachedDebugger := self].
  2338     exclusive ifTrue:[CachedExclusive := self] ifFalse:[CachedDebugger := self].
  2339 
  2339 
  2340     "Modified: 22.10.1996 / 11:59:53 / cg"
  2340     "Modified: 11.1.1997 / 13:55:35 / cg"
  2341 !
  2341 !
  2342 
  2342 
  2343 exclusive:aBoolean
  2343 exclusive:aBoolean
  2344     exclusive := aBoolean
  2344     exclusive := aBoolean
  2345 !
  2345 !
  2446             "/ context within the first 10 contexts
  2446             "/ context within the first 10 contexts
  2447 
  2447 
  2448             suspendContext := nil.
  2448             suspendContext := nil.
  2449             c := con.
  2449             c := con.
  2450             1 to:10 do:[:i |
  2450             1 to:10 do:[:i |
  2451                 ((c selector startsWith:'suspend')
  2451                 c notNil ifTrue:[
  2452                 and:[c receiver isMemberOf:Process]) ifTrue:[
  2452                     c selector notNil ifTrue:[
  2453                     suspendContext := c
  2453                         ((c selector startsWith:'suspend')
  2454                 ].
  2454                         and:[c receiver isMemberOf:Process]) ifTrue:[
  2455                 c := c sender.
  2455                             suspendContext := c
       
  2456                         ].
       
  2457                     ].
       
  2458                     c := c sender.
       
  2459                 ]
  2456             ].
  2460             ].
  2457             suspendContext notNil ifTrue:[
  2461             suspendContext notNil ifTrue:[
  2458                 con := c.
  2462                 con := c.
  2459             ].
  2463             ].
  2460         ].
  2464         ].
  2524         m disable:#browseClass.
  2528         m disable:#browseClass.
  2525     ].
  2529     ].
  2526     ^ true
  2530     ^ true
  2527 
  2531 
  2528     "Created: 14.12.1995 / 19:10:31 / cg"
  2532     "Created: 14.12.1995 / 19:10:31 / cg"
  2529     "Modified: 11.1.1997 / 13:28:18 / cg"
  2533     "Modified: 11.1.1997 / 13:59:30 / cg"
  2530 !
  2534 !
  2531 
  2535 
  2532 setContextSkippingInterruptContexts:aContext
  2536 setContextSkippingInterruptContexts:aContext
  2533     "show calling chain from aContext in the walk-back listview.
  2537     "show calling chain from aContext in the walk-back listview.
  2534      Ignore any non-interresting interrupt-context."
  2538      Ignore any non-interresting interrupt-context."
  2918     receiverInspector release.
  2922     receiverInspector release.
  2919     contextInspector release.
  2923     contextInspector release.
  2920     inspectedProcess := nil.
  2924     inspectedProcess := nil.
  2921     exitAction := nil.
  2925     exitAction := nil.
  2922     contextArray := nil.
  2926     contextArray := nil.
  2923     selectedContext := actualContext := nil.
  2927     selectedContext := actualContext := firstContext := nil.
  2924     steppedContext := wrapperContext := nil.
  2928     steppedContext := wrapperContext := nil.
  2925     grabber := nil.
  2929     grabber := nil.
  2926     self autoUpdateOff.
  2930     self autoUpdateOff.
  2927 
  2931 
  2928     super destroy    "/ 1.12.94
  2932     super destroy    "/ 1.12.94
  2929 
  2933 
  2930     "Modified: 10.1.1997 / 15:37:32 / cg"
  2934     "Modified: 11.1.1997 / 13:55:09 / cg"
  2931 !
  2935 !
  2932 
  2936 
  2933 showSelection:lineNr
  2937 showSelection:lineNr
  2934     "user clicked on a header line - show selected code in textView.
  2938     "user clicked on a header line - show selected code in textView.
  2935      Also sent to autoselect an interesting context on entry."
  2939      Also sent to autoselect an interesting context on entry."
  3212 ! !
  3216 ! !
  3213 
  3217 
  3214 !DebugView class methodsFor:'documentation'!
  3218 !DebugView class methodsFor:'documentation'!
  3215 
  3219 
  3216 version
  3220 version
  3217     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.125 1997-01-11 12:53:57 cg Exp $'
  3221     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.126 1997-01-11 13:02:11 cg Exp $'
  3218 ! !
  3222 ! !