--- a/DebugView.st Tue Oct 15 10:47:09 2002 +0200
+++ b/DebugView.st Tue Oct 15 10:49:06 2002 +0200
@@ -139,55 +139,36 @@
StepInterruptPending := nil.
-"/ thisContext isRecursive ifTrue:[
-"/ "/ care for the special case, were the Debugger was autoloaded.
-"/ "/ in this case, thisContext IS recursive, but thats no error
-"/ "/ condition.
-"/ foundNoByteCodeContext := false.
-"/ c := thisContext findNextContextWithSelector:#enter:withMessage:mayProceed: or:#noByteCode or:nil.
-"/ [foundNoByteCodeContext not
-"/ and:[c notNil
-"/ and:[c selector ~~ #enter:withMessage:mayProceed:]]] whileTrue:[
-"/ c selector == #noByteCode ifTrue:[
-"/ foundNoByteCodeContext := true
-"/ ].
-"/ c := c findNextContextWithSelector:#enter:withMessage:mayProceed: or:#noByteCode or:nil.
-"/ ].
-"/
-"/ foundNoByteCodeContext ifFalse:[
-"/ ('DebugView [warning]: reentered with: ', aString) errorPrintCR.
-"/
-"/ ^ MiniDebugger
-"/ enter:aContext
-"/ withMessage:'DebugView [error]: recursive error (in debugger)'
-"/ mayProceed:mayProceed.
-"/ ]
-"/ ].
-
- "
- well, it could be a stepping or sending debugger up there;
- in this case, return to it. This happens, when a stepping process
- runs into an error (for example, a halt). In this case, we want the
- stepping debugger to come up again instead of a new one.
- "
- OpenDebuggers notNil ifTrue:[
- active := Processor activeProcess.
- OpenDebuggers do:[:aDebugger |
- (aDebugger notNil and:[aDebugger ~~ 0]) ifTrue:[
- (aDebugger inspectedProcess == active) ifTrue:[
- aDebugger device isOpen ifTrue:[
-"/ 'entering stepping debugger again' printNL.
- aDebugger unstep.
- aDebugger setLabelFor:aString in:active.
- aDebugger mayProceed:mayProceed.
- ^ aDebugger enter:aContext select:nil.
+ ControlInterrupt handle:[:ex |
+ 'DebugView [info]: breakpoint in debugger setup ignored [enterUncond.]' infoPrintCR.
+ ex proceed
+ ] do:[
+
+ "
+ well, it could be a stepping or sending debugger up there;
+ in this case, return to it. This happens, when a stepping process
+ runs into an error (for example, a halt). In this case, we want the
+ stepping debugger to come up again instead of a new one.
+ "
+ OpenDebuggers notNil ifTrue:[
+ active := Processor activeProcess.
+ OpenDebuggers do:[:aDebugger |
+ (aDebugger notNil and:[aDebugger ~~ 0]) ifTrue:[
+ (aDebugger inspectedProcess == active) ifTrue:[
+ aDebugger device isOpen ifTrue:[
+ "/ 'entering stepping debugger again' printNL.
+ aDebugger unstep.
+ aDebugger setLabelFor:aString in:active.
+ aDebugger mayProceed:mayProceed.
+ ^ aDebugger enter:aContext select:nil.
+ ]
]
]
]
- ]
- ].
-
- ^ self enterUnconditional:aContext withMessage:aString mayProceed:mayProceed
+ ].
+
+ ^ self enterUnconditional:aContext withMessage:aString mayProceed:mayProceed
+ ].
"Modified: / 18.11.2001 / 00:48:03 / cg"
!
@@ -5805,7 +5786,7 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.327 2002-10-01 08:07:49 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.328 2002-10-15 08:49:06 penk Exp $'
! !
DebugView initialize!