--- a/DebugView.st Mon Sep 24 10:12:36 2001 +0200
+++ b/DebugView.st Mon Sep 24 11:45:26 2001 +0200
@@ -20,12 +20,12 @@
continueButton stepButton nextButton nextOverButton nextOutButton
sendButton returnButton restartButton exclusive inspecting
nChainShown inspectedProcess updateProcess stopButton
- updateButton monitorToggle stepping steppedContextLineno
- stepForReturn actualContext inWrap stackInspector steppedContext
- wrapperContext verboseBacktrace firstContext stepHow cachable
- currentMethod ignoreBreakpoints stepUntilEntering
- lastStepUntilEntering lastSelectionInReceiverInspector
- lastSelectionInContextInspector'
+ updateButton defineButton monitorToggle stepping
+ steppedContextLineno stepForReturn actualContext inWrap
+ stackInspector steppedContext wrapperContext verboseBacktrace
+ firstContext stepHow cachable currentMethod ignoreBreakpoints
+ stepUntilEntering lastStepUntilEntering
+ lastSelectionInReceiverInspector lastSelectionInContextInspector'
classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
DebuggingDebugger VerboseBacktraceDefault DefaultIcon
InitialNCHAINShown'
@@ -1456,6 +1456,15 @@
action:[terminateButton turnOffWithoutRedraw. self doTerminate]
in:bpanel.
+
+ separator := View extent:(30 @ 5) in:bpanel.
+ separator borderWidth:0; level:0.
+ defineButton := Button
+ label:(resources at:'define')
+ action:[defineButton turnOffWithoutRedraw. self doDefine]
+ in:bpanel.
+ defineButton beInvisible.
+
bpanel origin:(0.0 @ 0.0)
extent:(1.0 @ (bpanel preferredExtent y)).
@@ -2518,6 +2527,12 @@
"Modified: / 26.7.1999 / 15:38:45 / stefan"
!
+doDefine
+ self
+ codeAccept:('%1\ self halt:''%1 is not yet implemented''.' bindWith:actualContext selector) withCRs
+ unwind:false.
+!
+
doIgnoreBreakpoints
ignoreBreakpoints := true.
self initializeMiddleButtonMenu
@@ -3870,6 +3885,13 @@
"user wants some code to be recompiled - must unwind stack since everything above
and including selected method cannot be continued."
+ ^ self codeAccept:someCode unwind:true
+!
+
+codeAccept:someCode unwind:doUnwind
+ "user wants some code to be recompiled - must unwind stack since everything above
+ and including selected method cannot be continued."
+
"
actually, this is not true, since the active methods will still be
executed correctly - however, the code shown in the debugger is no
@@ -3920,7 +3942,7 @@
^ self "/ cancelled
].
].
- category := '** As yet undefined **'.
+ category := '** As yet uncategorized **'.
].
"/
@@ -3947,16 +3969,18 @@
from context chain
"
(newMethod notNil and:[newMethod ~~ #Error]) ifTrue:[
- self setContext:(top sender).
-
codeView modified:false.
- "
- continue/step is no longer possible
- "
- canContinue := false.
+ doUnwind ifTrue:[
+ self setContext:(top sender).
+
+ "
+ continue/step is no longer possible
+ "
+ canContinue := false.
+ exitAction := #return.
+ ].
self showSelection:1.
- exitAction := #return
].
].
].
@@ -4031,8 +4055,10 @@
|con homeContext sel method code canAccept
implementorClass lineNrInMethod rec m line
sender selSender tryVars possibleBlocks errMsg
- mthd cls mCls rCls codeSet highlighter evaluatorClass|
-
+ mthd cls mCls rCls codeSet highlighter evaluatorClass
+ canDefine|
+
+ canDefine := false.
currentMethod := nil.
contextArray notNil ifTrue:[
@@ -4243,7 +4269,8 @@
homeContext isNil ifTrue:[
errMsg := '** sorry; cannot show code of all optimized blocks (yet) **'.
] ifFalse:[
- errMsg := '** no method - no source **'
+ errMsg := '** no method - no source **'.
+ canDefine := true.
]
].
errMsg notNil ifTrue:[
@@ -4358,6 +4385,12 @@
con := nil.
homeContext := nil.
+ canDefine ifTrue:[
+ defineButton beVisible.
+ ] ifFalse:[
+ defineButton beInvisible.
+ ].
+
"
enable/disable some menu items
"
@@ -4400,6 +4433,6 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.281 2001-09-13 09:26:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.282 2001-09-24 09:45:26 cg Exp $'
! !
DebugView initialize!