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 ] |
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. |