Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-debug-dev] Breakpoint Enhancements

Hi Pawel,

 

See my comments below yours.

 

Regards,

Patrick

 


From: platform-debug-dev-bounces@xxxxxxxxxxx [mailto:platform-debug-dev-bounces@xxxxxxxxxxx] On Behalf Of Pawel Piech
Sent: Friday, June 26, 2009 5:55 PM
To: Eclipse Platform Debug component developers list.
Subject: Re: [platform-debug-dev] Breakpoint Enhancements

 

Hi Patrick,
My comments below,

Chuong, Patrick wrote:

Hi,

 

I have a call with Samantha and Natasha regarding breakpoint support in platform debug. Below is the consolidated list of requirements from the call and we are hoping some of these can be done for the next eclipse release (3.6?).

 

Convert breakpoint view to flexible hierarchy (238956) – See comment #7

Ability to group breakpoint based on active debug context, column support, In-place editing support

I hope this means upgrading the Breakpoints view to use flexible heirarchy :-)

 

Yes this is what I mean. I can help in this area. I am new to the flexible hierarchy from the platform, I probably will need some guidance and help from you guys here.

Dynamically contribute new breakpoint actions based on active debug context

Actions can be contributed to editor, variable view, _expression_ view, disassembly view, outline view, project view, memory view, and others

Have a central place to create new breakpoint for views and editors (227394) – such as Java Exception, Java Class Load Breakpoint, C++ Event Breakpoint, C++ Watchpoint, Line Breakpoint, etc..

I don't think we need to use the debug context to control action visibility, using action sets achieves a somewhat more consistent behavior.  Please take a look at bug 246243.  There I converted the JDT actions to commands and I added the use of action sets to control their visibility, but the bug is blocked waiting for an API from the Workbench team. 

 

I am not sure whether the action set is sufficient. For my use case, depends on the current debug context and the workbench part’s selection, the set of action will be different.



Dynamic properties (attributes) page

There need to be a way to contribute breakpoint properties dynamically based on the active debug context. The properties page can be put in the details pane of the Breakpoints view or in a Properties dialog.

Isn't this CDT-specific?  And in CDT, we currently already have property pages which are enabled depending on the debug model.  See bug 211533 and the org.eclipse.cdt.debug.BreakpointExtension extension point.

I am not using CDT breakpoint, I have my custom breakpoint implementation that works side by side with CDT breakpoint.

 

Scoping of breakpoints based on debug target

Scoping of breakpoints based on debug target

If the user has added a breakpoint on an invalid line, one target decides to move the breakpoint to a new location. Other targets get affected as well because they might not be able to move the breakpoint to the new location. We need a way to properly scope breakpoint to a debug target.

Moving breakpoint line seems like a separate issue from scoping.  Yes scoping breakpoints to the correct target needs to be improved.  For moving the breakpoint to different location, it should be enough to keep the original requested line in the marker and restore it once the breakpoint is uninstalled.

I agreed with the scope is a separate issue than moving the breakpoint. How can this be handled when there are multiple breakpoint listeners? One listener might agree to move, while another listener might not agree to move? Doesn’t this mean there needs to be a mechanism to have all listeners agreed before moving the breakpoint?

 

I think this will be tied with scope. If the breakpoint is scoped to a target, than there is no need to have all listener to agree before moving.

 

Additional requirements from my self since our discussion over the phone

Breakpoint hit / triggered indicator

Indicate when a breakpoint is hit and triggered

Ability to disable breakpoint modification, add, remove, and modify properties

Target might not be able to handle breakpoint request while target is running

I can't imagine how this will be possible (the disable part), given that breakpoints are shared.  Why can't the target just ignore changes after installing the breakpoint.

If the target ignore the changes, than you will have an inconsistence between what is show in the view and the target. For example. If the target is running and breakpoint can’t be remove from the target. User removes the breakpoint from the view and the expectation will be not suspending the target at the breakpoint location. But this is not true in this case.

 

I can see this can be done if we have a handshake mechanism – where the view will ask each registered listener whether the action is enabled or not.

 

Notes/Issues:

CDT now provides a way to contribute breakpoint actions to the views and editors, these actions are tied to plugin.xml file. Debugger that do not work with CDT need to remove the actions to avoid duplication, which causes confusion to the user. So, there needs to be a way to contribute breakpoint actions based on the active debug context.

One thing that is not clear is how to handle breakpoint action without a debug context.

Will the platform provide generic breakpoint action contribution to create an offline breakpoint? The generic breakpoint can have a standard set of property and debugger can translate the standard properties to the backend flexible property when consuming the breakpoint.

When debuggers are launch, which debugger will consume the offline breakpoint? What policy?

Have you looked at bug 212316, it is meant to deal exactly with this problem.

Yes, I am relying on this patch to create my own custom breakpoint type. Thanks for the patch!

 

My note was referring to the watchpoint, exception, event breakpoint, etc… contributed by different debugger. When I add a new debugger to the picture, than additional watchpoint, exception, etc… actions will be duplicated. Can this be cleanup based on the active debug context?

 

I am hoping that the community can provide feedback and help me to gather additional requirements and I’ll be able spend times to help to extend the breakpoints support for the next eclipse release.

Me too :-)
-Pawel


 

Regards,

Patrick

 



 
_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-debug-dev
  

 


Back to the top