Eval code in debugger

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

Eval code in debugger

Gwenaël Casaccio
Hi,

The patch allows code evaluation while debugging and
allows to use the temps and the args name in the evaluated
code.

Cheers,
Gwen


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

0001-DebugTools-MiniDebugger-and-GtkDebugger-can-eval-exp.patch (16K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Eval code in debugger

Holger Freyther
On Mon, Oct 21, 2013 at 10:17:33AM +0200, Gwenaël Casaccio wrote:
> Hi,
>
> The patch allows code evaluation while debugging and
> allows to use the temps and the args name in the evaluated
> code.

lovely! the debugger is getting more and more usable and showing
the power of Smalltalk/GST.

>      inspectIt: object [
>          <category: 'smalltalk event'>
>  
> -        self focusedWidget inspectIt: object
> +        codeWidget hasFocus ifFalse: [ ^ self focusedWidget inspectIt: object ].
> +        codeWidget hasSelection ifFalse: [ ^ self ].
> +        (debugger eval: codeWidget selectedText) gtkInspect.

something is not right. E.g. when I don't have anything selected
in the code widget and no blinking cursor but the variable in
"variables" is selected and I press CTRL+I I would want the inspector
to popup on the variable but somehow I get an inspector with
Behavior.

Can you reproduce this? My example is the '1234' do: [:each | ]
again.

holger

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

Re: Eval code in debugger

Gwenaël Casaccio
On 24/10/2013 07:47, Holger Hans Peter Freyther wrote:
> On Mon, Oct 21, 2013 at 10:17:33AM +0200, Gwenaël Casaccio wrote:
>> Hi,
>>
>> The patch allows code evaluation while debugging and
>> allows to use the temps and the args name in the evaluated
>> code.
> lovely! the debugger is getting more and more usable and showing
> the power of Smalltalk/GST.
:)

>>       inspectIt: object [
>>           <category: 'smalltalk event'>
>>  
>> -        self focusedWidget inspectIt: object
>> +        codeWidget hasFocus ifFalse: [ ^ self focusedWidget inspectIt: object ].
>> +        codeWidget hasSelection ifFalse: [ ^ self ].
>> +        (debugger eval: codeWidget selectedText) gtkInspect.
> something is not right. E.g. when I don't have anything selected
> in the code widget and no blinking cursor but the variable in
> "variables" is selected and I press CTRL+I I would want the inspector
> to popup on the variable but somehow I get an inspector with
> Behavior.
>
> Can you reproduce this? My example is the '1234' do: [:each | ]
> again.
>
> holger

That's an issue with the focusedWidget code and not the change
I'm going to rewrite it as soon as possible which will simplyfy the code.

Gwen


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

Re: Eval code in debugger

Gwenaël Casaccio
In reply to this post by Holger Freyther
On 24/10/2013 07:47, Holger Hans Peter Freyther wrote:

> On Mon, Oct 21, 2013 at 10:17:33AM +0200, Gwenaël Casaccio wrote:
>> Hi,
>>
>> The patch allows code evaluation while debugging and
>> allows to use the temps and the args name in the evaluated
>> code.
> lovely! the debugger is getting more and more usable and showing
> the power of Smalltalk/GST.
>
>>       inspectIt: object [
>>           <category: 'smalltalk event'>
>>  
>> -        self focusedWidget inspectIt: object
>> +        codeWidget hasFocus ifFalse: [ ^ self focusedWidget inspectIt: object ].
>> +        codeWidget hasSelection ifFalse: [ ^ self ].
>> +        (debugger eval: codeWidget selectedText) gtkInspect.
> something is not right. E.g. when I don't have anything selected
> in the code widget and no blinking cursor but the variable in
> "variables" is selected and I press CTRL+I I would want the inspector
> to popup on the variable but somehow I get an inspector with
> Behavior.
>
> Can you reproduce this? My example is the '1234' do: [:each | ]
> again.
>
> holger
Hi,

here is a new version of the patch the difference is that evaluated code is
done in an other process and without any references to the debugger
(the receiver of the closures is set to nil) otherwhise the exception
handler
while doing a debuger class lookup will be nil.

Cheers,
Gwen


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

0001-DebugTools-MiniDebugger-and-GtkDebugger-can-eval-exp.patch (16K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Eval code in debugger

Gwenaël Casaccio
On 29/10/2013 10:05, Gwenaël Casaccio wrote:

> On 24/10/2013 07:47, Holger Hans Peter Freyther wrote:
>> On Mon, Oct 21, 2013 at 10:17:33AM +0200, Gwenaël Casaccio wrote:
>>> Hi,
>>>
>>> The patch allows code evaluation while debugging and
>>> allows to use the temps and the args name in the evaluated
>>> code.
>> lovely! the debugger is getting more and more usable and showing
>> the power of Smalltalk/GST.
>>
>>>       inspectIt: object [
>>>           <category: 'smalltalk event'>
>>>   -        self focusedWidget inspectIt: object
>>> +        codeWidget hasFocus ifFalse: [ ^ self focusedWidget
>>> inspectIt: object ].
>>> +        codeWidget hasSelection ifFalse: [ ^ self ].
>>> +        (debugger eval: codeWidget selectedText) gtkInspect.
>> something is not right. E.g. when I don't have anything selected
>> in the code widget and no blinking cursor but the variable in
>> "variables" is selected and I press CTRL+I I would want the inspector
>> to popup on the variable but somehow I get an inspector with
>> Behavior.
>>
>> Can you reproduce this? My example is the '1234' do: [:each | ]
>> again.
>>
>> holger
>
> Hi,
>
> here is a new version of the patch the difference is that evaluated
> code is
> done in an other process and without any references to the debugger
> (the receiver of the closures is set to nil) otherwhise the exception
> handler
> while doing a debuger class lookup will be nil.
>
> Cheers,
> Gwen
>
Here is I hope the last iteration in the previous iteration I though
that block
in ensure: will be called even if the debugger was present (that's not
the case)
so I'm forking the code and signaling the semaphore inside it.

Gwen


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

0003-DebugTools-MiniDebugger-and-GtkDebugger-can-eval-exp.patch (16K) Download Attachment