[squeak-dev] The Trunk: Help-Squeak-Project-dtl.17.mcz
karl ramberg
karlramberg at gmail.com
Wed Jun 25 08:20:48 UTC 2014
Hi,
Looks good.
Few notes:
This method was a slip and should be deleted:
SqueakToolsDebuggerHelp class>>showDebuggerMenuForm
And the method SqueakToolsDebuggerHelp class>>showForm: could be added to
a super class for general use.
Best,
Karl
On Wed, Jun 25, 2014 at 4:43 AM, <commits at source.squeak.org> wrote:
> 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.'!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140625/ba6dae73/attachment.htm
More information about the Squeak-dev
mailing list
|