[squeak-dev] The Trunk: Help-Squeak-Project-dtl.17.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jun 25 02:43:51 UTC 2014


David T. Lewis uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-dtl.17.mcz

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

Name: Help-Squeak-Project-dtl.17
Author: dtl
Time: 24 June 2014, 8:48:04.636 pm
UUID: 32f31f92-64df-47ed-8789-30bc4dbd0000
Ancestors: Help-Squeak-Project-kfr.16

Update help for the debugger. Change class name and recategorize methods for consistency with other help topics. Add class comment from Debugger, and a brief explanation of how to open the tool.

=============== Diff against Help-Squeak-Project-kfr.16 ===============

Item was removed:
- SqueakToolsHelp subclass: #SqueakToolsDebugger
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'Help-Squeak-Project'!

Item was removed:
- ----- Method: SqueakToolsDebugger class>>bookName (in category 'as yet unclassified') -----
- bookName
- 	^'Debugger'!

Item was removed:
- ----- Method: SqueakToolsDebugger class>>debugger (in category 'as yet unclassified') -----
- debugger
- 	^HelpTopic 
- 		title: 'Using the Debugger.'
- 		contents: ' Debugging Loops.
- There are a few ways to get out of a loop.  The best way is to just let the loop run.  
- To do that select the space on your code (while in the Debugger) you want to jump to, right click and select: ''run to here.''
- 
- ' asText, 
- (self showForm: #Debugger1),
- '
- 
- That will take you to the place you clicked on in your code.
- 
- There is another trick, loops usually have an index.  
- This is Smalltalk after all.  In the case above 
- I just selected this code and selected ''Debug it''
- 
- 1 to: 100 do: [:i | Transcript show: i asString].
- Transcript show: ''done''
- 
- While in the outer content evaluating the loop, select i change the value to 100 hit accept and ''bobs your uncle'' the loop is done. 
- Ok so a bit of a hack but I''ve used it to skip over some processing and since you are debugging and know what you are doing it should be fine.
- 
- ' asText,
- (self showForm: #Debugger2),
- '
- Proceed is just continue and stop debugging.
- 
- Restart will stop debugging at the selected method and restart that method from the beginning.
- 
- Into goes into the execution of the next method and shows you what it does
- 
- Over executes the next message and moves over it to the next message
- 
- Through steps you through a block of code, so if you are about to execute a block, this steps you through that block
- 
- Full Stack increases the number of levels you see in the upper panel.  That normally shows you a subset of the execution stack.  Full stack will show you the rest of the stack that called this method.
- 
- Where is useful if you click around a method during debugging.  It will highlight the code at its execution point.  You can also just select the stack method again to do the same thing.
- 
- Tally well is supposed to Tally selected code.  Ignore Tally.  If you want to tally something do it outside a debugger.' asText!

Item was removed:
- ----- Method: SqueakToolsDebugger class>>pages (in category 'as yet unclassified') -----
- pages
- 	^# (debugger)!

Item was removed:
- ----- Method: SqueakToolsDebugger class>>showDebuggerMenuForm (in category 'as yet unclassified') -----
- showDebuggerMenuForm
- 	| form contents |
- 	form := ScriptingSystem formAtKey: #Debugger1.
- 	contents :=  (String with: Character cr) asText, 
- 					(Text string: ' '
- 					attribute: (TextFontReference toFont: 
- 						(FormSetFont new
- 							fromFormArray: (Array with: form)
- 							asciiStart: Character space asInteger
- 							ascent: form height))),
- 						(String with: Character cr) asText.
- 	^contents!

Item was removed:
- ----- Method: SqueakToolsDebugger class>>showForm: (in category 'as yet unclassified') -----
- showForm: aSymbol
- 	| form contents |
- 	form := ScriptingSystem formAtKey: aSymbol.
- 	contents :=  (String with: Character cr) asText, 
- 					(Text string: ' '
- 					attribute: (TextFontReference toFont: 
- 						(FormSetFont new
- 							fromFormArray: (Array with: form)
- 							asciiStart: Character space asInteger
- 							ascent: form height))),
- 						(String with: Character cr) asText.
- 	^contents!

Item was added:
+ SqueakToolsHelp subclass: #SqueakToolsDebuggerHelp
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'Help-Squeak-Project'!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>bookName (in category 'accessing') -----
+ bookName
+ 	^'Debugger'!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>openingTheDebugger (in category 'pages') -----
+ openingTheDebugger
+ 	^HelpTopic 
+ 		title: 'Open a Debugger.'
+ 		contents: 'A debugger window is opened in response to an unhandled exception condition. Evaluating the expression ''self halt'' in a workspace or as an expression in a method will cause a debugger window to be opened. The debugger provides direct interactive access to the interrupted process.
+ 
+ The debugger permits its interrupted process to be inspected and modified. Source code and variables may be modified interactively, and the process can be stepped through its execution in various ways.'!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>pages (in category 'accessing') -----
+ pages
+ 	^# (whatIsADebugger openingTheDebugger usingTheDebugger)!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>showDebuggerMenuForm (in category 'pages') -----
+ showDebuggerMenuForm
+ 	| form contents |
+ 	form := ScriptingSystem formAtKey: #Debugger1.
+ 	contents :=  (String with: Character cr) asText, 
+ 					(Text string: ' '
+ 					attribute: (TextFontReference toFont: 
+ 						(FormSetFont new
+ 							fromFormArray: (Array with: form)
+ 							asciiStart: Character space asInteger
+ 							ascent: form height))),
+ 						(String with: Character cr) asText.
+ 	^contents!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>showForm: (in category 'pages') -----
+ showForm: aSymbol
+ 	| form contents |
+ 	form := ScriptingSystem formAtKey: aSymbol.
+ 	contents :=  (String with: Character cr) asText, 
+ 					(Text string: ' '
+ 					attribute: (TextFontReference toFont: 
+ 						(FormSetFont new
+ 							fromFormArray: (Array with: form)
+ 							asciiStart: Character space asInteger
+ 							ascent: form height))),
+ 						(String with: Character cr) asText.
+ 	^contents!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>usingTheDebugger (in category 'pages') -----
+ usingTheDebugger
+ 	^HelpTopic 
+ 		title: 'Debugging Loops.'
+ 		contents: 'There are a few ways to get out of a loop.  The best way is to just let the loop run.
+ 
+ To do that select the space on your code (while in the Debugger) you want to jump to, right click and select: ''run to here.''
+ 
+ ' asText, 
+ (self showForm: #Debugger1),
+ '
+ 
+ That will take you to the place you clicked on in your code.
+ 
+ There is another trick, loops usually have an index. This is Smalltalk after all.  In the case above we just selected this code and selected ''Debug it''
+ 
+ 1 to: 100 do: [:i | Transcript show: i asString].
+ Transcript show: ''done''
+ 
+ While in the outer content evaluating the loop, select i change the value to 100 hit accept and ''bobs your uncle'' the loop is done. 
+ 
+ Ok so a bit of a hack but this can be used it to skip over some processing, and since you are debugging and know what you are doing it should be fine.
+ 
+ ' asText,
+ (self showForm: #Debugger2),
+ '
+ Proceed is just continue and stop debugging.
+ 
+ Restart will stop debugging at the selected method and restart that method from the beginning.
+ 
+ Into goes into the execution of the next method and shows you what it does.
+ 
+ Over executes the next message and moves over it to the next message.
+ 
+ Through steps you through a block of code, so if you are about to execute a block, this steps you through that block
+ 
+ Full Stack increases the number of levels you see in the upper panel.  That normally shows you a subset of the execution stack.  Full stack will show you the rest of the stack that called this method.
+ 
+ Where is useful if you click around a method during debugging. It will highlight the code at its execution point.  You can also just select the stack method again to do the same thing.
+ 
+ Tally is supposed to tally selected code, but may not be reliable within the debugger. If you want to tally something do it outside a debugger.' asText!

Item was added:
+ ----- Method: SqueakToolsDebuggerHelp class>>whatIsADebugger (in category 'pages') -----
+ whatIsADebugger
+ 	^HelpTopic 
+ 		title: 'What is a Debugger.'
+ 		contents: 'A debugger represents the machine state at the time of an interrupted process. It also represent a query path into the state of the process.
+ 
+ The debugger is typically viewed through a window that views the stack of suspended contexts, the code for, and execution point in, the currently selected message, and inspectors on both the receiver of the currently selected message, and the variables in the current context.'!



More information about the Squeak-dev mailing list