[squeak-dev] how to get the stack from the debugger?

Eliot Miranda eliot.miranda at gmail.com
Tue Apr 17 22:30:43 UTC 2018


Hi Chris,

On Tue, Apr 17, 2018 at 1:36 PM, Chris Muller <asqueaker at gmail.com> wrote:

> Sorry if this belongs on the beginners list...   what is the best way
> to get a textual copy of the stack from the Debugger window?
>
> I used to use "mail out bug report", which annoyed me with interim
> prompts but otherwise allowed me to copy the stack text.
>
> But that's broken in trunk right now, so I'm finding no easy way to
> get a text-representation of stack I have here in this debugger
> window.  Someone help me out..
>

Mail out bug report... should give you an editor on a mail message
containing the full stack, with a chance to edit before sending. Alas for
me it crashed with the following ;-) (and of course one can extract from
within the ensuing debugger)

From: eliot.miranda at gmail.com
To: squeak-dev at lists.squeakfoundation.org
Subject: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #mimeDecode:as:

here insert explanation of what you were doing, suspect changes you''ve
made and so forth.

17 April 2018 3:29:06.654644 pm

VM: Mac OS - Smalltalk
Image: Squeak6.0alpha [latest update: #17884]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/eliot/Cog
Trusted Dir /foobar/tooBar/forSqueak/bogus/
Untrusted Dir /Users/eliot/Library/Preferences/Squeak/Internet/My Squeak/

UndefinedObject(Object)>>doesNotUnderstand: #mimeDecode:as:
Receiver: nil
Arguments and temporary variables:
aMessage: mimeDecode: a ReadStream as: String
exception: MessageNotUnderstood: UndefinedObject>>mimeDecode:as:
resumeValue: nil
Receiver''s instance variables:
nil

MailMessage>>initializeFromString:
Receiver: <<error during printing>>
Arguments and temporary variables:
<<error during printing>
Receiver''s instance variables:
text: ''From: eliot.miranda at gmail.com
To: squeak-dev at lists.squeakfoundation.org
...etc...
body: MIMEDocument (text/plain, 1 bytes)
fields: a Dictionary(''from''->an OrderedCollection(a MIMEHeaderValue:
eliot.mira...etc...
parts: nil

MailMessage class>>from:
Receiver: MailMessage
Arguments and temporary variables:
aString: ''From: eliot.miranda at gmail.com
To: squeak-dev at lists.squeakfoundation.o...etc...
Receiver''s instance variables:
superclass: Object
methodDict: a
MethodDictionary(#addAttachmentFrom:withName:->(MailMessage>>#add...etc...
format: 65540
instanceVariables: #(''text'' ''body'' ''fields'' ''parts'')
organization: (''access'' name setText:)
(''fields'' canonicalFields fieldNamed:ifAbsent:...etc...
subclasses: nil
name: #MailMessage
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #''Network-Url''

[] in Debugger>>mailOutBugReport
Receiver: a Debugger
Arguments and temporary variables:
messageStrm: a WriteStream
Receiver''s instance variables:
dependents: nil
contents: a Text for ''processEvents
"Process user input events from the local ...etc...
currentCompiledMethod: nil
contentsSymbol: #source
multiWindowState: nil
interruptedProcess: nil
interruptedController: nil
contextStack: nil
contextStackIndex: 5
contextStackList: an OrderedCollection(''EventSensor>>processEvent:''
''EventSenso...etc...
receiverInspector: nil
contextVariablesInspector: nil
externalInterrupt: true
proceedValue: nil
selectingPC: true
savedCursor: ((CursorWithMask
extent: 16 at 16
depth: 1
fromArray: #(
2r0
2...etc...
isolationHead: nil
failedProject: nil
errorWasInUIProcess: true
labelString: nil
message: nil
untilExpression: nil

BlockClosure>>ensure:
Receiver: [closure] in Debugger>>mailOutBugReport
Arguments and temporary variables:
aBlock: [closure] in CursorWithMask(Cursor)>>showWhile:
complete: nil
returnValue: nil
Receiver''s instance variables:
outerContext: Debugger>>mailOutBugReport
startpc: 237
numArgs: 0

CursorWithMask(Cursor)>>showWhile:
Receiver: ((CursorWithMask
extent: 16 at 16
depth: 1
fromArray: #(
2r0
2r11000000000000000000
...etc...
Arguments and temporary variables:
aBlock: [closure] in Debugger>>mailOutBugReport
oldcursor: ((CursorWithMask
extent: 16 at 16
depth: 1
fromArray: #(
2r0
2r1...etc...
Receiver''s instance variables:
bits: a Bitmap of length 16
width: 16
height: 16
depth: 1
offset: -1@ -1
maskForm: Form(16x16x1)

Debugger>>mailOutBugReport
Receiver: a Debugger
Arguments and temporary variables:

Receiver''s instance variables:
dependents: nil
contents: a Text for ''processEvents
"Process user input events from the local ...etc...
currentCompiledMethod: nil
contentsSymbol: #source
multiWindowState: nil
interruptedProcess: nil
interruptedController: nil
contextStack: nil
contextStackIndex: 5
contextStackList: an OrderedCollection(''EventSensor>>processEvent:''
''EventSenso...etc...
receiverInspector: nil
contextVariablesInspector: nil
externalInterrupt: true
proceedValue: nil
selectingPC: true
savedCursor: ((CursorWithMask
extent: 16 at 16
depth: 1
fromArray: #(
2r0
2...etc...
isolationHead: nil
failedProject: nil
errorWasInUIProcess: true
labelString: nil
message: nil
untilExpression: nil

[] in MenuItemMorph>>invokeWithEvent:
Receiver: a MenuItemMorph(1176928)''mail out bug report''
Arguments and temporary variables:
<<error during printing>
Receiver''s instance variables:
bounds: 2158 at 1055 corner: 2300 at 1069
owner: a MenuMorph(4147752)
submorphs: #()
fullBounds: 2158 at 1055 corner: 2300 at 1069
color: Color black
extension: a MorphExtension (168638) [other:  (layoutProperties -> a
LayoutProp...etc...
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: ''mail out b...etc...
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180417/035eaafc/attachment-0001.html>


More information about the Squeak-dev mailing list