[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] multi debug context stepping in DSF
|
Yes, Refresh() cause the buttons to refresh, but that is because
is causes a re-selection in the Debug view. I've never
tried it with a multi-select to see if it keeps the same
selection as before...
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Alexiev, Dobrin
> Sent: Thursday, July 21, 2011 3:36 PM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] multi debug context stepping in DSF
>
> The Tree part of the debug view updates perfectly ( shows the
> new stack of the threads, their running state, etc.).
> I have hard time updating the Step/Resume/Suspend actions/toolbars.
> If I call Refresh will that update the actions on the toolbar too?
>
> By examining the call graph of DsfResumeCommand.canExecute()
> I couldn't see that will happen.
> I'll try calling refresh() anyway, see if that will do.
>
> Thanks
> Dobrin
>
>
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Marc Khouzam
> Sent: Thursday, July 21, 2011 3:27 PM
> To: 'CDT General developers list.'
> Subject: Re: [cdt-dev] multi debug context stepping in DSF
>
> > -----Original Message-----
> > From: cdt-dev-bounces@xxxxxxxxxxx
> > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Alexiev, Dobrin
> > Sent: Thursday, July 21, 2011 11:26 AM
> > To: CDT General developers list.
> > Subject: Re: [cdt-dev] multi debug context stepping in DSF
> >
> > I don't know how to update a specific debug view button in DSF.
> > If there is such way, please let me know.
>
> Would the generic event we talked about do it?
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=350170
>
> > >>> Should the Suspended or Resumed event cause the views to
> > refresh?
> > I think platform doesn't know anything about DSF Suspend and
> > Resume events therefore can't handle them.
>
> The VMNodes listen for those events and generate deltas.
> I thought that could trigger a refresh.
>
> I cheated myself for Tracepoints by calling the refresh()
> method. You can have a look at how LaunchVMProvider
> handles ITracingStoppedDMEvent. But I'm hoping
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=350170
> will make this cleaner.
>
> Marc
>
> > Here is my stack trace when DsfResumeCommand.canExecute()
> > gets called.
> >
> > Thread [main] (Suspended (breakpoint at line 45 in
> > org.eclipse.cdt.dsf.debug.ui.actions.DsfResumeCommand))
> >
> > org.eclipse.cdt.dsf.debug.ui.actions.DsfResumeCommand.canExecu
> > te(org.eclipse.debug.core.commands.IEnabledStateRequest) line: 45
> >
> > org.eclipse.debug.internal.ui.commands.actions.DebugCommandSer
> > vice.updateCommand(java.lang.Class, java.lang.Object[],
> > org.eclipse.debug.internal.ui.commands.actions.IEnabledTarget[
> > ]) line: 182
> >
> > org.eclipse.debug.internal.ui.commands.actions.DebugCommandSer
> > vice.postUpdate(org.eclipse.jface.viewers.ISelection) line: 153
> >
> > org.eclipse.debug.internal.ui.commands.actions.DebugCommandSer
> > vice.debugContextChanged(org.eclipse.debug.ui.contexts.DebugCo
> > ntextEvent) line: 245
> >
> > org.eclipse.debug.internal.ui.contexts.DebugWindowContextServi
> > ce$1.run() line: 194
> >
> > org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runti
> > me.ISafeRunnable) line: 42
> >
> > org.eclipse.debug.internal.ui.contexts.DebugWindowContextServi
> > ce.notify(org.eclipse.debug.ui.contexts.DebugContextEvent,
> > java.lang.Object[]) line: 192
> >
> > org.eclipse.debug.internal.ui.contexts.DebugWindowContextServi
> > ce.notify(org.eclipse.debug.ui.contexts.DebugContextEvent)
> line: 181
> >
> > org.eclipse.debug.internal.ui.contexts.DebugWindowContextServi
> > ce.debugContextChanged(org.eclipse.debug.ui.contexts.DebugCont
> > extEvent) line: 390
> >
> > org.eclipse.debug.ui.contexts.AbstractDebugContextProvider$1.r
> > un() line: 79
> >
> > going throw the call graph of
> > IDebugCommandHandler.canExecute() I didn't see anything
> > useful I can hang on to.
> >
> > Dobrin
> >
> >
> > -----Original Message-----
> > From: cdt-dev-bounces@xxxxxxxxxxx
> > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Marc Khouzam
> > Sent: Thursday, July 21, 2011 11:02 AM
> > To: 'CDT General developers list.'
> > Subject: Re: [cdt-dev] multi debug context stepping in DSF
> >
> > > -----Original Message-----
> > > From: cdt-dev-bounces@xxxxxxxxxxx
> > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Alexiev, Dobrin
> > > Sent: Wednesday, July 20, 2011 5:26 PM
> > > To: CDT General developers list.
> > > Subject: [cdt-dev] multi debug context stepping in DSF
> > >
> > > I am trying to implement multi context stepping.
> > >
> > > First, I overwrote DsfSuspendCommand, DsfResumeCommand and
> > > DsfStep*Command to enabled the commands if multiple execution
> > > context are selected.
> > >
> > > Next, When I multi select and execute Suspend/Step/Resume I
> > > don't want the selection to change, because the assumption is
> > > the user will continue with multi select operations. To
> > > achieve that I overwrote DefaultDsfSelectionPolicy to block
> > > the change of selection if currently multiple execution
> > > context are selected.
> > >
> > > Now the next problem - since there is no debug context
> > > change, my Suspend/Step/Resume commands don't update - they
> > > reflect the old state.
> >
> > I'm not entirely sure how the view refreshing logic works.
> > Should the Suspended or Resumed event cause the views
> > to refresh? Or do we really need a new selection to happen?
> >
> > >
> > > Does anyone know what is the right way to update the
> > > Suspend/Step/Resume when at the same time the selection
> > > change is being blocked.
> > >
> > > Thanks
> > > Dobrin
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > cdt-dev mailing list
> > > cdt-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>