[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