Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
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. 

>>> 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. 

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.canExecute(org.eclipse.debug.core.commands.IEnabledStateRequest) line: 45	
	org.eclipse.debug.internal.ui.commands.actions.DebugCommandService.updateCommand(java.lang.Class, java.lang.Object[], org.eclipse.debug.internal.ui.commands.actions.IEnabledTarget[]) line: 182	
	org.eclipse.debug.internal.ui.commands.actions.DebugCommandService.postUpdate(org.eclipse.jface.viewers.ISelection) line: 153	
	org.eclipse.debug.internal.ui.commands.actions.DebugCommandService.debugContextChanged(org.eclipse.debug.ui.contexts.DebugContextEvent) line: 245	
	org.eclipse.debug.internal.ui.contexts.DebugWindowContextService$1.run() line: 194	
	org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42	
	org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.notify(org.eclipse.debug.ui.contexts.DebugContextEvent, java.lang.Object[]) line: 192	
	org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.notify(org.eclipse.debug.ui.contexts.DebugContextEvent) line: 181	
	org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.debugContextChanged(org.eclipse.debug.ui.contexts.DebugContextEvent) line: 390	
	org.eclipse.debug.ui.contexts.AbstractDebugContextProvider$1.run() 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


Back to the top