--- a/DebugView.st Sat May 18 17:47:03 1996 +0200
+++ b/DebugView.st Mon May 20 10:40:58 1996 +0200
@@ -1056,19 +1056,19 @@
"/ should no longer happen
"/
stepForReturn == true ifTrue:[
- self enter:thisContext sender.
- ^ self
+ self enter:thisContext sender.
+ ^ self
].
Processor activeProcess ~~ inspectedProcess ifTrue:[
- 'stray step interrupt' errorPrintNL.
- ^ self
+ 'stray step interrupt' errorPrintNL.
+ ^ self
].
"
kludge to hide breakpoint wrappers in the context list:
- check if we are in a wrapper methods hidden setup-sequence
- if so, ignore the interrupt and continue single sending
+ check if we are in a wrapper methods hidden setup-sequence
+ if so, ignore the interrupt and continue single sending
"
here := thisContext. "stepInterrupt"
here := here sender. "the interrupted context"
@@ -1082,50 +1082,50 @@
left := false.
inWrap ifTrue:[
- wrappedMethod := nil.
- 5 timesRepeat:[
+ wrappedMethod := nil.
+ 5 timesRepeat:[
"/ where selector printNL.
- (where notNil and:[where isBlockContext not]) ifTrue:[
- method := where method.
- (method notNil and:[method isWrapped]) ifTrue:[
- "
- in a wrapper method
- "
- wrappedMethod ~~ method ifTrue:[
- wrappedMethod := method.
- lastWrappedConAddr := ObjectMemory addressOf:where.
- where sender receiver == method originalMethod ifFalse:[
- isWrap := true.
- ]
- ] ifFalse:[
- (ObjectMemory addressOf:where) == steppedContextAddress ifTrue:[
+ (where notNil and:[where isBlockContext not]) ifTrue:[
+ method := where method.
+ (method notNil and:[method isWrapped]) ifTrue:[
+ "
+ in a wrapper method
+ "
+ wrappedMethod ~~ method ifTrue:[
+ wrappedMethod := method.
+ lastWrappedConAddr := ObjectMemory addressOf:where.
+ where sender receiver == method originalMethod ifFalse:[
+ isWrap := true.
+ ]
+ ] ifFalse:[
+ (ObjectMemory addressOf:where) == steppedContextAddress ifTrue:[
"/ 'change stepCon from: ' print.
"/ (steppedContextAddress printStringRadix:16)print.
"/ ' to: ' print.
"/ (lastWrappedConAddr printStringRadix:16)printNL.
- inWrap := false.
- steppedContextAddress := lastWrappedConAddr
- ]
- ]
- ].
- where := where sender
- ]
- ].
+ inWrap := false.
+ steppedContextAddress := lastWrappedConAddr
+ ]
+ ]
+ ].
+ where := where sender
+ ]
+ ].
].
isWrap ifTrue:[
"/ 'ignore wrap' printNL.
"/ ' ' printNL.
- "
- ignore, while in wrappers hidden setup
- "
- where := nil. here := nil.
- ObjectMemory flushInlineCaches.
- StepInterruptPending := 1.
- InterruptPending := 1.
- InStepInterrupt := nil.
- ^ nil
+ "
+ ignore, while in wrappers hidden setup
+ "
+ where := nil. here := nil.
+ ObjectMemory flushInlineCaches.
+ StepInterruptPending := 1.
+ InterruptPending := 1.
+ InStepInterrupt := nil.
+ ^ nil
].
inBlock := false.
@@ -1134,92 +1134,92 @@
is this for a send or a step/next ?
"
bigStep ifTrue:[
- "
- a step or next - ignore all contexts below the interesting one
- "
- where := here. "the interrupted context"
+ "
+ a step or next - ignore all contexts below the interesting one
+ "
+ where := here. "the interrupted context"
- where home notNil ifTrue:[
- "/
- "/ in a block called by 'our' context ?
- "/
- (ObjectMemory addressOf:where home) == steppedContextAddress ifTrue:[
+ where home notNil ifTrue:[
+ "/
+ "/ in a block called by 'our' context ?
+ "/
+ (ObjectMemory addressOf:where home) == steppedContextAddress ifTrue:[
"/ '*block*' printNL.
- inBlock := true
- ]
- ].
+ inBlock := true
+ ]
+ ].
- (ObjectMemory addressOf:where) == steppedContextAddress ifFalse:[
- where := where sender.
+ (ObjectMemory addressOf:where) == steppedContextAddress ifFalse:[
+ where := where sender.
- where home notNil ifTrue:[
- (ObjectMemory addressOf:where home) == steppedContextAddress ifTrue:[
+ where home notNil ifTrue:[
+ (ObjectMemory addressOf:where home) == steppedContextAddress ifTrue:[
"/ '*block*' printNL.
- inBlock := true.
- ]
- ].
+ inBlock := true.
+ ]
+ ].
"/ 'looking for ' print.
"/ (steppedContextAddress printStringRadix:16)print. '' printNL.
- (ObjectMemory addressOf:where) == steppedContextAddress ifFalse:[
- "
- check if we are in a context below steppedContext
- (i.e. if steppedContext can be reached from
- interrupted context. Not using context-ref but its
- address to avoid creation of many useless contexts.)
- "
- inBlock ifFalse:[
- [where notNil] whileTrue:[
+ (ObjectMemory addressOf:where) == steppedContextAddress ifFalse:[
+ "
+ check if we are in a context below steppedContext
+ (i.e. if steppedContext can be reached from
+ interrupted context. Not using context-ref but its
+ address to avoid creation of many useless contexts.)
+ "
+ inBlock ifFalse:[
+ [where notNil] whileTrue:[
"/ ((ObjectMemory addressOf:where) printStringRadix:16)print. ' ' print.
"/ where selector printNL.
- (ObjectMemory addressOf:where) == steppedContextAddress ifTrue:[
+ (ObjectMemory addressOf:where) == steppedContextAddress ifTrue:[
"/ 'found it - below; ignore' printNL.
- "
- found the interesting context somwehere up in the
- chain. We seem to be still below the interesting one ...
- "
- tracing == true ifTrue:[
- here printString printNewline
- ].
- where := nil. here := nil.
- "
- yes, a context below
- - continue and schedule another stepInterrupt.
- Must flush caches since optimized methods not always
- look for pending interrupts
- "
- ObjectMemory flushInlineCaches.
- StepInterruptPending := 1.
- InterruptPending := 1.
- InStepInterrupt := nil.
- ^ nil
- ].
- where := where sender
- ].
- s := 'left stepped method'.
- left := true.
- ].
- ] ifTrue:[
+ "
+ found the interesting context somwehere up in the
+ chain. We seem to be still below the interesting one ...
+ "
+ tracing == true ifTrue:[
+ here printString printCR
+ ].
+ where := nil. here := nil.
+ "
+ yes, a context below
+ - continue and schedule another stepInterrupt.
+ Must flush caches since optimized methods not always
+ look for pending interrupts
+ "
+ ObjectMemory flushInlineCaches.
+ StepInterruptPending := 1.
+ InterruptPending := 1.
+ InStepInterrupt := nil.
+ ^ nil
+ ].
+ where := where sender
+ ].
+ s := 'left stepped method'.
+ left := true.
+ ].
+ ] ifTrue:[
"/ 'found it right in sender' printNL.
- s := 'after step'
- ].
- ] ifTrue:[
+ s := 'after step'
+ ].
+ ] ifTrue:[
"/ 'found it right away' printNL.
- s := 'after step'
- ].
+ s := 'after step'
+ ].
] ifFalse:[
"/ ' send' printNL.
- "
- a send
- "
- steppedContextAddress := nil.
- s := 'after send'
+ "
+ a send
+ "
+ steppedContextAddress := nil.
+ s := 'after send'
].
inBlock ifTrue:[
"/ 'inBlock' printNL.
- s := 'in block'.
+ s := 'in block'.
].
"/ where notNil ifTrue:[
@@ -1235,30 +1235,30 @@
and:[where notNil
and:[where lineNumber == steppedContextLineno]]]) ifTrue:[
"/ 'same line - ignored' printNL.
- ignore := true
+ ignore := true
].
(left not
and:[skipLineNr notNil
and:[where lineNumber ~~ skipLineNr]]) ifTrue:[
"/ 'skip (' print. skipLineNr print. ' unreached - ignored' printNL.
- ignore := true
+ ignore := true
].
ignore ifTrue:[
"/' ' printNL.
- where := nil. here := nil.
- "
- yes, a context below
- - continue and schedule another stepInterrupt.
- Must flush caches since optimized methods not always
- look for pending interrupts
- "
- ObjectMemory flushInlineCaches.
- StepInterruptPending := 1.
- InterruptPending := 1.
- InStepInterrupt := nil.
- ^ nil
+ where := nil. here := nil.
+ "
+ yes, a context below
+ - continue and schedule another stepInterrupt.
+ Must flush caches since optimized methods not always
+ look for pending interrupts
+ "
+ ObjectMemory flushInlineCaches.
+ StepInterruptPending := 1.
+ InterruptPending := 1.
+ InStepInterrupt := nil.
+ ^ nil
].
"/ ' ' printNL.
@@ -1273,7 +1273,7 @@
where := nil. here := nil.
self enter:thisContext sender
- "Modified: 14.12.1995 / 21:46:20 / cg"
+ "Modified: 20.5.1996 / 10:27:24 / cg"
! !
!DebugView methodsFor:'menu / button actions'!
@@ -1320,11 +1320,11 @@
w := selectedContext method who.
cls := w at:1.
-cls printNL.
+"/ cls printCR.
cls browserClass openInClass:cls selector:(w at:2).
"Created: 22.11.1995 / 21:27:01 / cg"
- "Modified: 3.5.1996 / 13:31:35 / cg"
+ "Modified: 20.5.1996 / 10:28:16 / cg"
!
browseClass
@@ -2273,7 +2273,7 @@
self doContinue
]
].
- 'DEBUGGER: OOPS - non regular debugView closing' infoPrintNL.
+ 'DEBUGGER: OOPS - non regular debugView closing' infoPrintCR.
DebugView newDebugger.
].
@@ -2298,7 +2298,7 @@
super destroy "/ 1.12.94
- "Modified: 6.3.1996 / 17:43:54 / cg"
+ "Modified: 20.5.1996 / 10:31:55 / cg"
!
showSelection:lineNr
@@ -2540,5 +2540,5 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.82 1996-05-16 13:38:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.83 1996-05-20 08:40:58 cg Exp $'
! !