Seeing the Stack in a debugger
Ted K.
Ted.Kaehler at disney.com
Thu Feb 17 05:53:59 UTC 2000
Paul,
One of the hallowed and honored traditions in Smalltalk is this:
To find out what code is running, do an Alt-period (Cmd-period), and look
at the stack. Something has truncated the stack when one is in Morphic.
It has to do with (aBlock ensure: [something]) and possibly the fancy code
that tries to avoid showing us all of the stack.
Here is an example.
| response |
response _ (PopUpMenu labels: 'Chocolate\Vanilla' withCRs)
startUpWithCaption: 'Which flavor?'.
Execute this and interrupt it while the menu is showing. The stack looks
as listed below. Something is cutting off the stack at
(PopUpMenu>>startUpWithCaption:at:). We'd really like to see the stack all
the way up to the top.
The problem seems to be in (aBlock ensure: [oldcursor show]) inside the
method (Cursor showWhile: aBlock).
It would be wonderful if you could allow the debugger to show the entire
stack in this case. Thanks for any light you can shed on this!
--Ted and Dan.
*** Stack as it appears now ***
'PasteUpMorph>>doOneSubCycle'
'MVCMenuMorph>>invokeAt:in:'
'[] in PopUpMenu>>startUpWithCaption:at:'
'BlockContext>>on:do:'
'[] in BlockContext>>valueUninterruptably'
'BlockContext>>on:do:'
'[] in BlockContext>>valueUninterruptably'
'BlockContext>>on:do:'
'BlockContext>>valueUninterruptably'
'BlockContext>>ensure:'
'CursorWithMask(Cursor)>>showWhile:'
'PopUpMenu>>startUpWithCaption:at:'
*** Stack as it should appear ***
'PasteUpMorph>>doOneSubCycle'
'MVCMenuMorph>>invokeAt:in:'
'[] in PopUpMenu>>startUpWithCaption:at:'
'CursorWithMask(Cursor)>>showWhile:'
---OK to have BlockContext stuff in here----
'PopUpMenu>>startUpWithCaption:at:'
'PopUpMenu>>startUpWithCaption:'
'UndefinedObject>>DoIt'
'Compiler>>evaluate:in:to:notifying:ifFail:'
'TextMorphEditor(ParagraphEditor)>>evaluateSelection'
'TextMorphEditor(ParagraphEditor)>>doIt'
'[] in TextMorphEditor(ParagraphEditor)>>doIt:'
'TextMorphEditor(Controller)>>terminateAndInitializeAround:'
'TextMorphEditor(ParagraphEditor)>>doIt:'
'TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:'
'TextMorphEditor(ParagraphEditor)>>readKeyboard'
'TextMorphEditor>>readKeyboard'
'[] in TextMorphForEditView(TextMorph)>>keyStroke:'
'TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:'
'TextMorphForEditView>>handleInteraction:fromEvent:'
'TextMorphForEditView(TextMorph)>>keyStroke:'
'TextMorphForEditView>>keyStroke:'
'HandMorph>>handleEvent:'
'HandMorph>>processEvents'
'[] in PasteUpMorph>>doOneCycleNow'
'Array(SequenceableCollection)>>do:'
'PasteUpMorph>>handsDo:'
'PasteUpMorph>>doOneCycleNow'
'PasteUpMorph>>doOneCycle'
'[] in Project>>spawnNewProcess'
'[] in BlockContext>>newProcess'
Ted Kaehler, Walt Disney Imagineering, R&D
(home) 3415 Cork Oak Way, Palo Alto, CA 94303. voice (650) 424-1070
http://www.webPage.com/~kaehler2/
More information about the Squeak-dev
mailing list
|