MiniDebugger package

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

MiniDebugger package

Gwenaël Casaccio
Hi,

I've moved the MiniDebugger from examples to packages/debug/debugger.
It uses the new syntax and prints temporary and argument names and values.

The context part has been updated with a new method that prints temporary
and argument names and values.

Gwen


_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

mini-debugger.patch (39K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MiniDebugger package

Holger Freyther
On Thu, Aug 15, 2013 at 05:20:16PM +0200, Gwenaël Casaccio wrote:
> Hi,
>
> I've moved the MiniDebugger from examples to packages/debug/debugger.
> It uses the new syntax and prints temporary and argument names and values.

it is easier to review if just gst-convert has been ran.


> The context part has been updated with a new method that prints temporary
> and argument names and values.

>  kernel/ContextPart.st                    |  42 +++

What is the reasoning to put it into the kernel vs. extensions of the
DebugTools/Debugger package?

> +            aStream
> +                space: 4;
> +                nextPutAll: each;
> +                nextPutAll: ' -> ';
> +                print: (self at: i);
> +                nl ].

in VisualGST you prefix '#'. do you want to do that too?


> +    debug [
> +        <category: 'instance creation'>
> +        <exceptionHandlingInternal: false>
> +
> +        self class debuggerClass debug: 'Debugger'.
> +        self value
> +    ]


yeah!!!!!



_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: MiniDebugger package

Gwenaël Casaccio
On 16/08/2013 19:18, Holger Hans Peter Freyther wrote:
> On Thu, Aug 15, 2013 at 05:20:16PM +0200, Gwenaël Casaccio wrote:
>> Hi,
>>
>> I've moved the MiniDebugger from examples to packages/debug/debugger.
>> It uses the new syntax and prints temporary and argument names and values.
> it is easier to review if just gst-convert has been ran.
I've done it one or two monthes ago so I reuse that patch
>
>> The context part has been updated with a new method that prints temporary
>> and argument names and values.
>>   kernel/ContextPart.st                    |  42 +++
> What is the reasoning to put it into the kernel vs. extensions of the
> DebugTools/Debugger package?

Those methods works without the debugger and I think they can be useful

>
>> +            aStream
>> +                space: 4;
>> +                nextPutAll: each;
>> +                nextPutAll: ' -> ';
>> +                print: (self at: i);
>> +                nl ].
> in VisualGST you prefix '#'. do you want to do that too?

No and I should change VisualGST

>
>
>> +    debug [
>> +        <category: 'instance creation'>
>> +        <exceptionHandlingInternal: false>
>> +
>> +        self class debuggerClass debug: 'Debugger'.
>> +        self value
>> +    ]
>
> yeah!!!!!
>
>


_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: MiniDebugger package

Holger Freyther
In reply to this post by Holger Freyther
On Fri, Aug 16, 2013 at 07:18:12PM +0200, Holger Hans Peter Freyther wrote:
> On Thu, Aug 15, 2013 at 05:20:16PM +0200, Gwenaël Casaccio wrote:
> > Hi,
> >
> > I've moved the MiniDebugger from examples to packages/debug/debugger.
> > It uses the new syntax and prints temporary and argument names and values.
>
> it is easier to review if just gst-convert has been ran.

Dear Gwenaël,

I applied your changes (and split them up, replaced spaces for tabs in
the ChangeLog, removed MiniDebugger.st from the README/package.xml). I
have pushed this as gwen-debug-patches to my github page.

What I think is missing:

 * Make VisualGST's Debugger understand >>debug: too
 * Separation of code and inspecting the context:

 (debug) s
 String class(Behavior)>>new (Builtins.st:57)
 args:
 temps:
      1 new [

 is hard to read...

 * [3+3] debug stepping into value doesn't really work. Same for
   [3 perform: #+ with: 3] debug... somehow stepping doesn't really
   work. Do you have an idea why?


thanks
        holger

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: MiniDebugger package

Holger Freyther
On Sat, Aug 17, 2013 at 11:01:18AM +0200, Holger Hans Peter Freyther wrote:

Good Morning,


> What I think is missing:
>
>  * Make VisualGST's Debugger understand >>debug: too
>  * Separation of code and inspecting the context:

I tried to debug another parsing issue with the Squeak importer (

>
   ^self perform: #<! !


is parsed as '^self perfom: #<!'. I have used the Debugger package
to step through things. The stepping in the debugger mostly works
until a >>#printString on the context inspector creates a DNU and
then things are stuck.

We do have the same problem in VisualGST when printing an Object
to a String. I think for the time being (e.g. not having mirror
based reflection) is to create a selector in the DebugTools so we
can burry a pokemon exception in there that will either return a
String or an error message.


cheers

        holger



Example:

       res := (STClassLoader new
            parseSmalltalkStream:
'Object subclass: #PhexMatcher
       instanceVariableNames: ''value state''
       classVariableNames: ''''
       poolDictionaries: ''''
       category: ''Phexample-Core''!

!PhexMatcher methodsFor: ''expecting'' stamp: ''JoeExample 10/27/2009 18:35''!
< expected
       ^self expect: expected using: #<! !' readStream with: SqueakFileInParser) first.

        (res >> #<) inspect.



_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: MiniDebugger package

Paolo Bonzini-2
In reply to this post by Gwenaël Casaccio
Il 15/08/2013 17:20, Gwenaël Casaccio ha scritto:
> Hi,
>
> I've moved the MiniDebugger from examples to packages/debug/debugger.
> It uses the new syntax and prints temporary and argument names and values.
>
> The context part has been updated with a new method that prints temporary
> and argument names and values.

Can you make #examineOn: use this new method?

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk