Hi,
I've updated the step commands if the selected context is not the suspended one the code is executed to the selected context and the step command is executed. Cheers, Gwen _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk 0001-Stepping-while-the-selected-context-is-not-the-suspe.patch (2K) Download Attachment |
On Mon, Oct 21, 2013 at 11:51:44AM +0200, Gwenaël Casaccio wrote:
> + stepToSelectedContext [ > + <category: 'execute events'> > + > + | ctxt | > + ctxt := debugger suspendedContext. > + [ ctxt parentContext == contextWidget selectedContext ] whileFalse: [ ctxt := ctxt parentContext ]. > + debugger finish: ctxt breakStuff [ self halt. [] repeat. ] I assume that debugger finish: ctxt. Will never finish? Which would bring us to the point of how can we interrupt things? (yes, we have the same thing with DoIts..) (xlat adds an interrupt check I don't think the interpreter has one though) _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 22/10/2013 23:57, Holger Hans Peter Freyther wrote:
> On Mon, Oct 21, 2013 at 11:51:44AM +0200, Gwenaël Casaccio wrote: >> + stepToSelectedContext [ >> + <category: 'execute events'> >> + >> + | ctxt | >> + ctxt := debugger suspendedContext. >> + [ ctxt parentContext == contextWidget selectedContext ] whileFalse: [ ctxt := ctxt parentContext ]. >> + debugger finish: ctxt > > breakStuff [ > self halt. > [] repeat. > ] > > > I assume that debugger finish: ctxt. Will never finish? Which would > bring us to the point of how can we interrupt things? (yes, we have > the same thing with DoIts..) (xlat adds an interrupt check I don't > think the interpreter has one though) > > Yes but it's fixed with the TaskQueue patch Gwen _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 23/10/2013 09:22, Gwenaël Casaccio wrote:
> On 22/10/2013 23:57, Holger Hans Peter Freyther wrote: >> On Mon, Oct 21, 2013 at 11:51:44AM +0200, Gwenaël Casaccio wrote: >>> + stepToSelectedContext [ >>> + <category: 'execute events'> >>> + >>> + | ctxt | >>> + ctxt := debugger suspendedContext. >>> + [ ctxt parentContext == contextWidget selectedContext ] >>> whileFalse: [ ctxt := ctxt parentContext ]. >>> + debugger finish: ctxt >> >> breakStuff [ >> self halt. >> [] repeat. >> ] >> >> >> I assume that debugger finish: ctxt. Will never finish? Which would >> bring us to the point of how can we interrupt things? (yes, we have >> the same thing with DoIts..) (xlat adds an interrupt check I don't >> think the interpreter has one though) >> >> > > Yes but it's fixed with the TaskQueue patch > > Gwen > Gwen _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk 0001-Stepping-while-the-selected-context-is-not-the-suspe.patch (1K) Download Attachment |
On Wed, Nov 06, 2013 at 11:43:56AM +0100, Gwenaël Casaccio wrote:
> The patch is based on the master branch. Thanks. I have applied it but there is still some failure in the handling: '1234' do: [:each | each ] ALT+D <F8>.... and you will reach BlockClosure>>#ensure:.. <F8> and now it is broken. Pressing continue will bring the below warning. The task queue is then stalled. E.g. no other debugging is possible. Do you have time to fix that? error: Invalid value Process(nil at userSchedulingPriority, terminated): process has/was already terminated SystemExceptions.ProcessTerminated(Exception)>>signal (ExcHandling.st:254) SystemExceptions.ProcessTerminated class(SystemExceptions.InvalidValue class)>>signalOn: (SysExcept.st:416) Process>>resume (Process.st:489) [] in Debugger>>continue (DebugTools.star#VFS.ZipFile/DebugTools.st:276) [] in Process>>onBlock:at:suspend: (Process.st:412) BlockClosure>>on:do: (BlkClosure.st:196) [] in Process>>onBlock:at:suspend: (Process.st:413) BlockClosure>>ensure: (BlkClosure.st:271) [] in Process>>onBlock:at:suspend: (Process.st:391) [] in BlockClosure>>asContext: (BlkClosure.st:182) _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 09/11/2013 08:59, Holger Hans Peter Freyther wrote:
> On Wed, Nov 06, 2013 at 11:43:56AM +0100, Gwenaël Casaccio wrote: > >> The patch is based on the master branch. > Thanks. I have applied it but there is still some failure in the > handling: > > > '1234' do: [:each | each ] ALT+D > <F8>.... and you will reach BlockClosure>>#ensure:.. <F8> and now > it is broken. Pressing continue will bring the below warning. The > task queue is then stalled. E.g. no other debugging is possible. > Do you have time to fix that? > > error: Invalid value Process(nil at userSchedulingPriority, terminated): process has/was already terminated > SystemExceptions.ProcessTerminated(Exception)>>signal (ExcHandling.st:254) > SystemExceptions.ProcessTerminated class(SystemExceptions.InvalidValue class)>>signalOn: (SysExcept.st:416) > Process>>resume (Process.st:489) > [] in Debugger>>continue (DebugTools.star#VFS.ZipFile/DebugTools.st:276) > [] in Process>>onBlock:at:suspend: (Process.st:412) > BlockClosure>>on:do: (BlkClosure.st:196) > [] in Process>>onBlock:at:suspend: (Process.st:413) > BlockClosure>>ensure: (BlkClosure.st:271) > [] in Process>>onBlock:at:suspend: (Process.st:391) > [] in BlockClosure>>asContext: (BlkClosure.st:182) I think I understand the issue the vm calls self primTerminate but the debugger is waiting for the semaphore (that will never be signaled) the primitive should signal the debugger semaphore if there is one. Paolo can you confirm ? Gwen _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
In reply to this post by Gwenaël Casaccio
On 06/11/2013 11:43, Gwenaël Casaccio wrote:
> On 23/10/2013 09:22, Gwenaël Casaccio wrote: >> On 22/10/2013 23:57, Holger Hans Peter Freyther wrote: >>> On Mon, Oct 21, 2013 at 11:51:44AM +0200, Gwenaël Casaccio wrote: >>>> + stepToSelectedContext [ >>>> + <category: 'execute events'> >>>> + >>>> + | ctxt | >>>> + ctxt := debugger suspendedContext. >>>> + [ ctxt parentContext == contextWidget selectedContext ] >>>> whileFalse: [ ctxt := ctxt parentContext ]. >>>> + debugger finish: ctxt >>> >>> breakStuff [ >>> self halt. >>> [] repeat. >>> ] >>> >>> >>> I assume that debugger finish: ctxt. Will never finish? Which would >>> bring us to the point of how can we interrupt things? (yes, we have >>> the same thing with DoIts..) (xlat adds an interrupt check I don't >>> think the interpreter has one though) >>> >>> >> >> Yes but it's fixed with the TaskQueue patch >> >> Gwen >> > > The patch is based on the master branch. > > Gwen Could you apply it ? Gwen _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |