[Pkg] The Trunk: Kernel-mtf.526.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Dec 13 19:00:21 UTC 2010


Matthew Fulmer uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mtf.526.mcz

==================== Summary ====================

Name: Kernel-mtf.526
Author: mtf
Time: 13 December 2010, 1:58:51.198 pm
UUID: 200bb553-0fe3-48d1-bcf1-c7878f09a00f
Ancestors: Kernel-mtf.525

make stack dumps more verbose by printing more stack frames in more detail

Cherrypicked from Cobalt:

Name: Kernel-mtf.40
Author: mtf
Time: 26 June 2009, 6:00:06 pm
UUID: b516a7b4-629c-11de-9e86-001124e29fe6
Ancestors: Kernel-mtf.39

made SqueakDebug* files show much more detail in the stack trace

=============== Diff against Kernel-mtf.525 ===============

Item was changed:
  ----- Method: ContextPart>>errorReportOn: (in category 'debugger access') -----
  errorReportOn: strm
  	"Write a detailed error report on the stack (above me) on a stream.  For both the error file, and emailing a bug report.  Suppress any errors while getting printStrings.  Limit the length."
  
  	| cnt aContext startPos |
   	strm print: Date today; space; print: Time now; cr.
  	strm cr.
  	strm nextPutAll: 'VM: ';
  		nextPutAll:  SmalltalkImage current platformName asString;
  		nextPutAll: ' - ';
  		nextPutAll: SmalltalkImage current asString;
  		cr.
  	strm nextPutAll: 'Image: ';
  		nextPutAll:  SystemVersion current version asString;
  		nextPutAll: ' [';
  		nextPutAll: SmalltalkImage current lastUpdateString asString;
  		nextPutAll: ']';
  		cr.
  	strm cr.
  	SecurityManager default printStateOn: strm.
  	
  	"Note: The following is an open-coded version of ContextPart>>stackOfSize: since this method may be called during a low space condition and we might run out of space for allocating the full stack."
  	cnt := 0.  startPos := strm position.
  	aContext := self.
+ 	[aContext notNil and: [(cnt := cnt + 1) < 20]] whileTrue:
- 	[aContext notNil and: [(cnt := cnt + 1) < 5]] whileTrue:
  		[aContext printDetails: strm.	"variable values"
  		strm cr.
  		aContext := aContext sender].
  
  	strm cr; nextPutAll: '--- The full stack ---'; cr.
  	aContext := self.
  	cnt := 0.
  	[aContext == nil] whileFalse:
  		[cnt := cnt + 1.
+ 		cnt = 20 ifTrue: [strm nextPutAll: ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'; cr].
- 		cnt = 5 ifTrue: [strm nextPutAll: ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'; cr].
  		strm print: aContext; cr.  "just class>>selector"	
  
+ 		strm position > (startPos+40000) ifTrue: [strm nextPutAll: '...etc...'.
- 		strm position > (startPos+4000) ifTrue: [strm nextPutAll: '...etc...'.
  			^ self]. 	"exit early"
  		cnt > 60 ifTrue: [strm nextPutAll: '-- and more not shown --'.  ^ self].
  		aContext := aContext sender].
  !



More information about the Packages mailing list