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