--- a/DebugView.st Mon Mar 06 22:25:58 1995 +0100
+++ b/DebugView.st Mon Mar 06 23:07:15 1995 +0100
@@ -17,7 +17,7 @@
receiverInspector contextInspector contextArray selectedContext
catchBlock grabber traceView tracing bigStep skipLineNr
steppedContextAddress canAbort abortButton terminateButton
- continueButton stepButton sendButton returnButton restartButton
+ continueButton stepButton nextButton sendButton returnButton restartButton
exclusive inspecting nChainShown inspectedProcess updateProcess
monitorToggle stepping steppedContextLineno actualContext inWrap'
classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail'
@@ -29,7 +29,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.28 1995-03-06 19:31:13 claus Exp $
+$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.29 1995-03-06 22:07:15 claus Exp $
'!
!DebugView class methodsFor:'documentation'!
@@ -50,7 +50,7 @@
version
"
-$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.28 1995-03-06 19:31:13 claus Exp $
+$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.29 1995-03-06 22:07:15 claus Exp $
"
!
@@ -343,6 +343,10 @@
dummy := View extent:(20 @ 5) in:bpanel.
dummy borderWidth:0; level:0.
+ nextButton := Button
+ label:(resources at:'next')
+ action:[stepButton turnOff. self doNext]
+ in:bpanel.
stepButton := Button
label:(resources at:'step')
action:[stepButton turnOff. self doStep]
@@ -807,6 +811,7 @@
returnButton turnOffWithoutRedraw.
restartButton turnOffWithoutRedraw.
abortButton turnOffWithoutRedraw.
+ nextButton turnOffWithoutRedraw.
stepButton turnOffWithoutRedraw.
sendButton turnOffWithoutRedraw.
] ifFalse:[
@@ -1133,6 +1138,7 @@
sendButton disable.
stepButton disable.
+ nextButton disable.
"/ continueButton disable.
"/ returnButton disable.
"/ restartButton disable.
@@ -1355,9 +1361,11 @@
"/ ].
ignore := false.
+
(bigStep
+ and:[steppedContextLineno notNil
and:[where notNil
- and:[where lineNumber == steppedContextLineno]]) ifTrue:[
+ and:[where lineNumber == steppedContextLineno]]]) ifTrue:[
"/ 'same line - ignored' printNL.
ignore := true
].
@@ -1765,7 +1773,7 @@
!
doSend
- "send from menu"
+ "single send; reenter with next message send"
inspecting ifTrue:[^ self].
@@ -1783,7 +1791,8 @@
!
doStep:lineNr
- "step until we pass lineNr (if nonNil) or to next line (if nil)"
+ "step until we pass lineNr (if nonNil) or to next line (if nil)
+ or to next send (if -1)"
|con method|
@@ -1797,6 +1806,11 @@
con := contextArray at:2.
steppedContextLineno := con lineNumber.
].
+ skipLineNr := lineNr.
+
+ lineNr == -1 ifTrue:[
+ steppedContextLineno := skipLineNr := nil.
+ ].
steppedContextAddress := ObjectMemory addressOf:con.
"
@@ -1812,7 +1826,6 @@
con := nil.
bigStep := true.
- skipLineNr := lineNr.
haveControl := false.
exitAction := #step.
ProcessorScheduler isPureEventDriven ifFalse:[
@@ -1820,22 +1833,28 @@
catchBlock notNil ifTrue:[catchBlock value].
'DEBUGGER: oops, step failed' errorPrintNL.
stepButton turnOff.
+ nextButton turnOff.
+ sendButton turnOff.
].
]
!
-doStep
- "step from menu"
+doNext
+ "skip for next source-code line"
self doStep:nil
!
-skip
- "step from menu"
+doStep
+ "skip for next send in selected method"
- codeView cursorLine notNil ifTrue:[
- self doStep:codeView cursorLine.
- ]
+ self doStep:-1
+!
+
+skip
+ "skip for cursor line in selected method"
+
+ self doStep:codeView cursorLine.
!
doReturn