[squeak-dev] The Trunk: Help-Squeak-Project-kfr.16.mcz

David T. Lewis lewis at mail.msen.com
Thu Jun 19 13:46:09 UTC 2014


Thanks for doing this Karl, it's good to have progress on documention.

I figured that it was best to move it into trunk, and we can work on
improving it from there. I might do a few edits myself if you don't mind.
I think that the text may read more clearly if the explanation of loop
debugging is moved to the bottom.

Dave

> Thanks, Dave.
> This is a quite large package due to two screen shots that is part of this
> documentation. The forms are in the postscript and are added to the
> ScriptingSystem form dictionary.
> This is not the ideal solution for adding media, but i found no better way
> at the moment.
>
> Cheers,
> Karl
>
>
> On Thu, Jun 19, 2014 at 2:09 PM, <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-kfr.16.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Help-Squeak-Project-kfr.16
>> Author: kfr
>> Time: 18 June 2014, 9:12:21.393 pm
>> UUID: 7c27339a-1163-3846-b57d-e3b94c517bc8
>> Ancestors: Help-Squeak-Project-kfr.15
>>
>> Debugger document
>>
>> =============== Diff against Help-Squeak-Project-kfr.10 ===============
>>
>> Item was added:
>> + SqueakToolsHelp subclass: #SqueakToolsDebugger
>> +       instanceVariableNames: ''
>> +       classVariableNames: ''
>> +       poolDictionaries: ''
>> +       category: 'Help-Squeak-Project'!
>>
>> Item was added:
>> + ----- Method: SqueakToolsDebugger class>>bookName (in category 'as yet
>> unclassified') -----
>> + bookName
>> +       ^'Debugger'!
>>
>> Item was added:
>> + ----- 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 added:
>> + ----- Method: SqueakToolsDebugger class>>pages (in category 'as yet
>> unclassified') -----
>> + pages
>> +       ^# (debugger)!
>>
>> Item was added:
>> + ----- 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 added:
>> + ----- 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:
>> + (PackageInfo named: 'Help-Squeak-Project') postscript: '| aForm
>> aSecondForm |
>> (excessive size, no diff calculated)
>>
>>
>>
>
>




More information about the Squeak-dev mailing list