Debugging - any hints, tutorials ?

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

Debugging - any hints, tutorials ?

recursive
Hi,

I'm having issues using the debugger when I am trying to debug errors when I am using a third party API's. Typically, it's because I'm making errors when trying to use a third party component. The debugger errors are usually totally opaque to me, for example I'm getting this when using a scripitilious component:

BlockClosure(Object)>>error:
BlockClosure>>numArgsError:
BlockClosure>>value:
SUTreeReportColumn>>render:on:
[] in [] in SUTreeReportColumn>>render:indent:on:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in WADivTag(WATagBrush)>>with:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
WARenderCanvas(WACanvas)>>nest:
WADivTag(WABrush)>>with:
WADivTag(WATagBrush)>>with:
[] in SUTreeReportColumn>>render:indent:on:
BlockClosure>>renderOn:
WARenderCanvas(WARenderer)>>render:
WARenderCanvas(WACanvas)>>render:
[] in WADivTag(WATagBrush)>>with:

In the above I can't see anywhere which references a line in my code, consequently I'm finding it hard to proceed.

Are there any tutorials or hints on how best to use the debugger ?

Thanks.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Debugging - any hints, tutorials ?

Levente Uzonyi-2
On Fri, 18 Mar 2011, [hidden email] wrote:

> Hi,
>
> I'm having issues using the debugger when I am trying to debug errors when I
> am using a third party API's. Typically, it's because I'm making errors when
> trying to use a third party component. The debugger errors are usually
> totally opaque to me, for example I'm getting this when using a
> scripitilious component:
>
> BlockClosure(Object)>>error:
> BlockClosure>>numArgsError:
> BlockClosure>>value:
> SUTreeReportColumn>>render:on:
> [] in [] in SUTreeReportColumn>>render:indent:on:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in WADivTag(WATagBrush)>>with:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> WARenderCanvas(WACanvas)>>nest:
> WADivTag(WABrush)>>with:
> WADivTag(WATagBrush)>>with:
> [] in SUTreeReportColumn>>render:indent:on:
> BlockClosure>>renderOn:
> WARenderCanvas(WARenderer)>>render:
> WARenderCanvas(WACanvas)>>render:
> [] in WADivTag(WATagBrush)>>with:
>
> In the above I can't see anywhere which references a line in my code,
> consequently I'm finding it hard to proceed.

Your code is not in this list. If you click the "Full Stack" button,
you'll see the stack frames which will contain your code.

>
> Are there any tutorials or hints on how best to use the debugger ?

Here is a bit outdated description of how the debugger can be used:
http://wiki.squeak.org/squeak/2131


Levente

>
> Thanks.
>
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Debugging - any hints, tutorials ?

Ralph Johnson
Here is what I can tell.

You are using Seaside.  Somewhere in the page you are using a
TreeReportColumn, and when you try to display the page, it is
expecting a block with one argument (that is why it sent #value:) but
got a block with a different number of arguments.  If I were debugging
this, I would look at that block because probably it is something you
wrote.  When you see it, you'll probably say "Oh, sure, that block
should take an argument", though perhaps you will say "Why should
*that* block take an argument?"  but in either case, it will probably
be a block that you wrote.

Note that there is no class "Block", what we call a block when we are
looking at a Smalltalk metod is really an instance of class
BlockClosure.

> BlockClosure(Object)>>error:
> BlockClosure>>numArgsError:
> BlockClosure>>value:
> SUTreeReportColumn>>render:on:
> [] in [] in SUTreeReportColumn>>render:indent:on:
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Debugging - any hints, tutorials ?

recursive
Thanks for the tips and pointers.

On 19 March 2011 12:13, Ralph Johnson <[hidden email]> wrote:
Here is what I can tell.

You are using Seaside.  Somewhere in the page you are using a
TreeReportColumn, and when you try to display the page, it is
expecting a block with one argument (that is why it sent #value:) but
got a block with a different number of arguments.  If I were debugging
this, I would look at that block because probably it is something you
wrote.  When you see it, you'll probably say "Oh, sure, that block
should take an argument", though perhaps you will say "Why should
*that* block take an argument?"  but in either case, it will probably
be a block that you wrote.

Note that there is no class "Block", what we call a block when we are
looking at a Smalltalk metod is really an instance of class
BlockClosure.

> BlockClosure(Object)>>error:
> BlockClosure>>numArgsError:
> BlockClosure>>value:
> SUTreeReportColumn>>render:on:
> [] in [] in SUTreeReportColumn>>render:indent:on:
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners