DebugView.st
changeset 3432 087493c18c74
parent 3431 19dbcd369dbf
child 3434 05bfb9406e06
equal deleted inserted replaced
3431:19dbcd369dbf 3432:087493c18c74
   813         offset := offset + 1.
   813         offset := offset + 1.
   814     ] ifFalse:[
   814     ] ifFalse:[
   815         "
   815         "
   816          ok, got the raise - if its a BreakPoint, look for the sender
   816          ok, got the raise - if its a BreakPoint, look for the sender
   817         "
   817         "
   818         (MessageTracer notNil
   818         (prev receiver == BreakPointInterrupt) ifTrue:[
   819          and:[MessageTracer isLoaded
       
   820          and:[prev receiver == MessageTracer breakpointSignal]]) ifTrue:[
       
   821             offset := offset + 1
   819             offset := offset + 1
   822         ].
   820         ].
   823     ].
   821     ].
   824 
   822 
   825     ^ offset
   823     ^ offset
   826 
   824 
   827     "Created: 7.1.1997 / 21:26:05 / cg"
   825     "Created: / 7.1.1997 / 21:26:05 / cg"
   828     "Modified: 27.3.1997 / 18:24:59 / cg"
   826     "Modified: / 16.11.2001 / 16:17:25 / cg"
   829 ! !
   827 ! !
   830 
   828 
   831 !DebugView methodsFor:'basic'!
   829 !DebugView methodsFor:'basic'!
   832 
   830 
   833 enter:aContext select:initialSelectionOrNil
   831 enter:aContext select:initialSelectionOrNil
  2139 
  2137 
  2140 stepOrNext
  2138 stepOrNext
  2141     |where here con s isWrap method wrappedMethod 
  2139     |where here con s isWrap method wrappedMethod 
  2142      inBlock left ignore contextBelow lastWrappedContext
  2140      inBlock left ignore contextBelow lastWrappedContext
  2143      leftWrap enteredWrap anyStepBlocks 
  2141      leftWrap enteredWrap anyStepBlocks 
  2144      oneMore initiallyShown breakpointSignal|
  2142      oneMore initiallyShown|
  2145 
       
  2146     (MessageTracer notNil and:[MessageTracer isLoaded]) ifTrue:[
       
  2147         breakpointSignal := MessageTracer breakpointSignal.
       
  2148     ].
       
  2149 
  2143 
  2150     "/ DebuggingDebugger := true
  2144     "/ DebuggingDebugger := true
  2151     "/ DebuggingDebugger := false
  2145     "/ DebuggingDebugger := false
  2152 
  2146 
  2153     skipLineNr == #return ifTrue:[
  2147     skipLineNr == #return ifTrue:[
  2155         self label:('stepping context returned ' , ' (process: ' , name , ')').
  2149         self label:('stepping context returned ' , ' (process: ' , name , ')').
  2156         here := thisContext sender sender.
  2150         here := thisContext sender sender.
  2157         here setLineNumber:nil.
  2151         here setLineNumber:nil.
  2158         here := nil.
  2152         here := nil.
  2159         con := thisContext sender sender sender.
  2153         con := thisContext sender sender sender.
  2160         breakpointSignal notNil ifTrue:[
  2154         BreakPointInterrupt notNil ifTrue:[
  2161             breakpointSignal handle:[:ex |
  2155             BreakPointInterrupt handle:[:ex |
  2162                 'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  2156                 'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  2163                 ex proceed
  2157                 ex proceed
  2164             ] do:[
  2158             ] do:[
  2165                 self enter:con select:nil.
  2159                 self enter:con select:nil.
  2166             ]
  2160             ]
  2667         ] ifFalse:[
  2661         ] ifFalse:[
  2668             initiallyShown := 1
  2662             initiallyShown := 1
  2669         ]
  2663         ]
  2670     ].
  2664     ].
  2671     con := thisContext sender sender.
  2665     con := thisContext sender sender.
  2672     breakpointSignal notNil ifTrue:[
  2666     BreakPointInterrupt notNil ifTrue:[
  2673         breakpointSignal handle:[:ex |
  2667         BreakPointInterrupt handle:[:ex |
  2674             'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  2668             'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  2675             ex proceed
  2669             ex proceed
  2676         ] do:[
  2670         ] do:[
  2677             self enter:con select:initiallyShown
  2671             self enter:con select:initiallyShown
  2678         ]
  2672         ]
  2680         self enter:con select:initiallyShown
  2674         self enter:con select:initiallyShown
  2681     ].
  2675     ].
  2682     con := nil
  2676     con := nil
  2683 
  2677 
  2684     "Created: / 14.10.1996 / 12:53:39 / cg"
  2678     "Created: / 14.10.1996 / 12:53:39 / cg"
  2685     "Modified: / 4.2.2000 / 20:21:11 / cg"
  2679     "Modified: / 16.11.2001 / 16:18:35 / cg"
  2686 ! !
  2680 ! !
  2687 
  2681 
  2688 !DebugView methodsFor:'menu / button actions'!
  2682 !DebugView methodsFor:'menu / button actions'!
  2689 
  2683 
  2690 autoUpdateOff
  2684 autoUpdateOff
  4333                         ex reject
  4327                         ex reject
  4334                     ].
  4328                     ].
  4335                     ex return.
  4329                     ex return.
  4336                 ].
  4330                 ].
  4337                 signal == Exception recursiveExceptionSignal ifTrue:[
  4331                 signal == Exception recursiveExceptionSignal ifTrue:[
  4338                     (MessageTracer notNil
  4332                     (ex parameter signal == BreakPointInterrupt)
  4339                     and:[MessageTracer isLoaded
       
  4340                     and:[ex parameter signal == MessageTracer breakpointSignal]])
       
  4341                     ifTrue:[
  4333                     ifTrue:[
  4342                         'DebugView [info]: recursive breakpoint in debugger ignored' infoPrintCR.
  4334                         'DebugView [info]: recursive breakpoint in debugger ignored' infoPrintCR.
  4343                         ex proceed.
  4335                         ex proceed.
  4344                     ].
  4336                     ].
  4345 
  4337 
  4396         ].
  4388         ].
  4397     ].
  4389     ].
  4398     catchBlock := nil.
  4390     catchBlock := nil.
  4399 
  4391 
  4400     "Created: / 24.11.1995 / 20:33:45 / cg"
  4392     "Created: / 24.11.1995 / 20:33:45 / cg"
  4401     "Modified: / 16.11.2001 / 16:14:44 / cg"
  4393     "Modified: / 16.11.2001 / 16:17:48 / cg"
  4402 ! !
  4394 ! !
  4403 
  4395 
  4404 !DebugView methodsFor:'user interaction'!
  4396 !DebugView methodsFor:'user interaction'!
  4405 
  4397 
  4406 checkIfCodeIsReallyModified
  4398 checkIfCodeIsReallyModified
  4656 
  4648 
  4657 doShowSelection:lineNr
  4649 doShowSelection:lineNr
  4658     "user clicked on a header line - show selected code in textView.
  4650     "user clicked on a header line - show selected code in textView.
  4659      Also sent to autoselect an interesting context on entry."
  4651      Also sent to autoselect an interesting context on entry."
  4660 
  4652 
  4661     |breakPointSignal|
  4653     BreakPointInterrupt notNil ifTrue:[
  4662 
  4654         BreakPointInterrupt handle:[:ex |
  4663     (MessageTracer notNil and:[MessageTracer isLoaded]) ifTrue:[
       
  4664         breakPointSignal := MessageTracer breakpointSignal.
       
  4665     ].
       
  4666     breakPointSignal notNil ifTrue:[
       
  4667         breakPointSignal handle:[:ex |
       
  4668             'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  4655             'DebugView [info]: breakpoint in debugger ignored' infoPrintCR.
  4669             ex proceed
  4656             ex proceed
  4670         ] do:[
  4657         ] do:[
  4671             self updateForContext:lineNr
  4658             self updateForContext:lineNr
  4672         ].
  4659         ].
  4673     ] ifFalse:[
  4660     ] ifFalse:[
  4674         self updateForContext:lineNr
  4661         self updateForContext:lineNr
  4675     ].
  4662     ].
  4676     self updateMenuItems
  4663     self updateMenuItems
       
  4664 
       
  4665     "Modified: / 16.11.2001 / 16:18:13 / cg"
  4677 !
  4666 !
  4678 
  4667 
  4679 showSelection:lineNr
  4668 showSelection:lineNr
  4680     "user clicked on a header line - show selected code in textView.
  4669     "user clicked on a header line - show selected code in textView.
  4681      Also sent to autoselect an interesting context on entry."
  4670      Also sent to autoselect an interesting context on entry."
  4854                     canAccept := true.
  4843                     canAccept := true.
  4855 
  4844 
  4856                     implementorClass := homeContext methodClass.
  4845                     implementorClass := homeContext methodClass.
  4857                     implementorClass isNil ifTrue:[
  4846                     implementorClass isNil ifTrue:[
  4858                         Object errorSignal handle:[:ex |
  4847                         Object errorSignal handle:[:ex |
  4859                             ex signal == MessageTracer breakpointSignal ifTrue:[
  4848                             ex signal == BreakPointInterrupt ifTrue:[
  4860                                 ex proceed.
  4849                                 ex proceed.
  4861                             ].
  4850                             ].
  4862                             code := 'error while asking method for its source'.
  4851                             code := 'error while asking method for its source'.
  4863                             code := code , Character cr , ex signal printString.
  4852                             code := code , Character cr , ex signal printString.
  4864                             code := code , Character cr , 'in: ' , ex suspendedContext printString.
  4853                             code := code , Character cr , 'in: ' , ex suspendedContext printString.
  5059      enable/disable some menu items
  5048      enable/disable some menu items
  5060     "
  5049     "
  5061     self updateMenuItems
  5050     self updateMenuItems
  5062 
  5051 
  5063     "Created: / 14.8.1997 / 20:15:00 / cg"
  5052     "Created: / 14.8.1997 / 20:15:00 / cg"
  5064     "Modified: / 16.11.2001 / 16:16:23 / cg"
  5053     "Modified: / 16.11.2001 / 16:18:55 / cg"
  5065 !
  5054 !
  5066 
  5055 
  5067 updateMenuItems
  5056 updateMenuItems
  5068     |m mthd cls mCls rCls|
  5057     |m mthd cls mCls rCls|
  5069 
  5058 
  5110 ! !
  5099 ! !
  5111 
  5100 
  5112 !DebugView class methodsFor:'documentation'!
  5101 !DebugView class methodsFor:'documentation'!
  5113 
  5102 
  5114 version
  5103 version
  5115     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.295 2001-11-16 15:19:52 cg Exp $'
  5104     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.296 2001-11-16 15:23:54 cg Exp $'
  5116 ! !
  5105 ! !
  5117 DebugView initialize!
  5106 DebugView initialize!