Discussion:
Hardware breakpoint support in CDT
Jiju George T.
2008-04-13 22:57:51 UTC
Permalink
Hi All,

We are developing an embedded debugger based on Eclipse and CDT. I am trying to add hardware breakpoints support. When I checked CDT CDI model, I could see that ICDIBreakpoint interface already supports hardware breakpoints. But CDT core classes like CBreakpoint , CBreakpointManager , CDIDebugModel etc and UI does not provide any mechanism to create an ICDIBreakpoint of type ICDIBreakpoint.HARDWARE.

When I searched CDT news groups and bugzilla, I came across below enhancement request to add hardware breakpoint support to CDT CDI model and UI.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100>

Patches to add hardware breakpoint support in UI and model are available in the above. Any idea on why this enhancement is on hold? Is it because decision on a better UI for adding Toggle Hardware breakpoints has not yet taken? If so then is there any possibility of committing the CDI model related changes and leaving UI decision to users? This will allow vendors to decide on the UI for hardware breakpoint and use CDT plugins without applying any local patches for adding hardware breakpoint support to CDI model.

Thanks,

Jiju George
Elena Laskavaia
2008-04-14 14:18:19 UTC
Permalink
I think this is too specific to change in general UI.
You can use breakpoint extension mechanism to add more attributes, such
as hardware breakpoint flag.
To create them you have to create your own UI because current ui
mechanism, such as double click on source like does not allow to change
attributes. To change this property you contribute property page, from
there you can implement a call that would re-set breakpoint from
software to hardware.


Jiju George T. wrote:
>
> Hi All,
>
> We are developing an embedded debugger based on Eclipse and CDT. I
> am trying to add hardware breakpoints support. When I checked CDT CDI
> model, I could see that ICDIBreakpoint interface already supports
> hardware breakpoints. But CDT core classes like CBreakpoint ,
> CBreakpointManager , CDIDebugModel etc and UI does not provide any
> mechanism to create an ICDIBreakpoint of type ICDIBreakpoint.HARDWARE.
>
> When I searched CDT news groups and bugzilla, I came across below
> enhancement request to add hardware breakpoint support to CDT CDI
> model and UI.
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
>
> Patches to add hardware breakpoint support in UI and model are
> available in the above. Any idea on why this enhancement is on hold?
> Is it because decision on a better UI for adding Toggle Hardware
> breakpoints has not yet taken? If so then is there any possibility of
> committing the CDI model related changes and leaving UI decision to
> users? This will allow vendors to decide on the UI for hardware
> breakpoint and use CDT plugins without applying any local patches for
> adding hardware breakpoint support to CDI model.
>
> Thanks,
>
> Jiju George
>
>
>
Jiju George T
2008-04-14 15:15:01 UTC
Permalink
I am not much worried about the UI patch since I can add my own ruler
actions according to our product requirement without needing any
modifications in the cdt debug ui plugins. But the real issue I am having is
with the CDT CDI model.



I have defined a new breakpoint type, a new marker and also added a new
attribute to the marker say HARDWARE. I have added this new attribute also
to the attribute map of CLineBreakpoint as shown below



HashMap attributes = new HashMap( 10 );

attributes.put( IBreakpoint.ID, getPluginIdentifier() );

attributes.put( IMarker.LINE_NUMBER, new Integer( lineNumber )
);

attributes.put( IBreakpoint.ENABLED, Boolean.valueOf( enabled )
);

attributes.put( ICBreakpoint.IGNORE_COUNT, new Integer(
ignoreCount ) );

attributes.put( ICBreakpoint.CONDITION, condition );

attributes.put( ICBreakpoint.SOURCE_HANDLE, sourceHandle );

attributes.put( ICBreakpoint.HARDWARE,ICBreakpoint.HARDWARE,
true );



new CHWLineBreakpoint( resource, attributes, register );



But when CBreakpointManager processes this CLineBreakpoint, it always call
cdiTarget.setLineBreakpoint() passing type as ICDIBreakpoint.REGULAR. It
never passes on ICDIBreakpoint.HARWARE type to CDI target. Due to this
limitation of CBreakpointManager, hardware breakpoint support in the CDI
model is really not usable. If we can apply the CDI model patch then at
least the hardware breakpoint feature in CDI model becomes useful.



Regards,

Jiju





-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
Sent: 14 April 2008 15:18
To: CDT Debug developers list
Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT



I think this is too specific to change in general UI.

You can use breakpoint extension mechanism to add more attributes, such

as hardware breakpoint flag.

To create them you have to create your own UI because current ui

mechanism, such as double click on source like does not allow to change

attributes. To change this property you contribute property page, from

there you can implement a call that would re-set breakpoint from

software to hardware.





Jiju George T. wrote:

>

> Hi All,

>

> We are developing an embedded debugger based on Eclipse and CDT. I

> am trying to add hardware breakpoints support. When I checked CDT CDI

> model, I could see that ICDIBreakpoint interface already supports

> hardware breakpoints. But CDT core classes like CBreakpoint ,

> CBreakpointManager , CDIDebugModel etc and UI does not provide any

> mechanism to create an ICDIBreakpoint of type ICDIBreakpoint.HARDWARE.

>

> When I searched CDT news groups and bugzilla, I came across below

> enhancement request to add hardware breakpoint support to CDT CDI

> model and UI.

>

> https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100

>

> Patches to add hardware breakpoint support in UI and model are

> available in the above. Any idea on why this enhancement is on hold?

> Is it because decision on a better UI for adding Toggle Hardware

> breakpoints has not yet taken? If so then is there any possibility of

> committing the CDI model related changes and leaving UI decision to

> users? This will allow vendors to decide on the UI for hardware

> breakpoint and use CDT plugins without applying any local patches for

> adding hardware breakpoint support to CDI model.

>

> Thanks,

>

> Jiju George

>

>

>

_______________________________________________

cdt-debug-dev mailing list

cdt-debug-dev-j9T/***@public.gmane.org

https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
Elena Laskavaia
2008-04-14 16:05:59 UTC
Permalink
So how about we just add small patch that introduces _
ICBreakpoint._/_HARDWARE_/
attribute and CDI change that takes this into account, without modifying
all breakpoint creation functions?

Jiju George T wrote:
>
>
>
> I am not much worried about the UI patch since I can add my own ruler
> actions according to our product requirement without needing any
> modifications in the cdt debug ui plugins. But the real issue I am
> having is with the CDT CDI model.
>
>
>
> I have defined a new breakpoint type, a new marker and also added a
> new attribute to the marker say HARDWARE. I have added this new
> attribute also to the attribute map of CLineBreakpoint as shown below
>
>
>
> _HashMap_ attributes = *new* _HashMap_( 10 );
>
> _attributes.put( IBreakpoint._/_ID_/_,
> /getPluginIdentifier/() )_;
>
> _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
> Integer( lineNumber ) )_;
>
> _attributes.put( IBreakpoint._/_ENABLED_/_,
> Boolean./valueOf/( enabled ) )_;
>
> _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
> _*_new_*_ Integer( ignoreCount ) )_;
>
> _attributes.put( ICBreakpoint._/_CONDITION_/_, condition )_;
>
> _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
> sourceHandle )_;
>
> _attributes.put(
> ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
>
>
>
> *new* CHWLineBreakpoint( resource, attributes, register );
>
>
>
> But when CBreakpointManager processes this CLineBreakpoint, it always
> call cdiTarget.setLineBreakpoint() passing type as
> ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type
> to CDI target. Due to this limitation of CBreakpointManager, hardware
> breakpoint support in the CDI model is really not usable. If we can
> apply the CDI model patch then at least the hardware breakpoint
> feature in CDI model becomes useful.
>
>
>
> Regards,
>
> Jiju
>
>
>
>
>
> -----Original Message-----
> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> Sent: 14 April 2008 15:18
> To: CDT Debug developers list
> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>
>
>
> I think this is too specific to change in general UI.
>
> You can use breakpoint extension mechanism to add more attributes, such
>
> as hardware breakpoint flag.
>
> To create them you have to create your own UI because current ui
>
> mechanism, such as double click on source like does not allow to change
>
> attributes. To change this property you contribute property page, from
>
> there you can implement a call that would re-set breakpoint from
>
> software to hardware.
>
>
>
>
>
> Jiju George T. wrote:
>
> >
>
> > Hi All,
>
> >
>
> > We are developing an embedded debugger based on Eclipse and CDT. I
>
> > am trying to add hardware breakpoints support. When I checked CDT CDI
>
> > model, I could see that ICDIBreakpoint interface already supports
>
> > hardware breakpoints. But CDT core classes like CBreakpoint ,
>
> > CBreakpointManager , CDIDebugModel etc and UI does not provide any
>
> > mechanism to create an ICDIBreakpoint of type ICDIBreakpoint.HARDWARE.
>
> >
>
> > When I searched CDT news groups and bugzilla, I came across below
>
> > enhancement request to add hardware breakpoint support to CDT CDI
>
> > model and UI.
>
> >
>
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
>
> >
>
> > Patches to add hardware breakpoint support in UI and model are
>
> > available in the above. Any idea on why this enhancement is on hold?
>
> > Is it because decision on a better UI for adding Toggle Hardware
>
> > breakpoints has not yet taken? If so then is there any possibility of
>
> > committing the CDI model related changes and leaving UI decision to
>
> > users? This will allow vendors to decide on the UI for hardware
>
> > breakpoint and use CDT plugins without applying any local patches for
>
> > adding hardware breakpoint support to CDI model.
>
> >
>
> > Thanks,
>
> >
>
> > Jiju George
>
> >
>
> >
>
> >
>
> _______________________________________________
>
> cdt-debug-dev mailing list
>
> cdt-debug-dev-j9T/***@public.gmane.org
>
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
Jiju George T
2008-04-14 16:21:33 UTC
Permalink
Yes. That is the best way I can think now of making the hardware breakpoint
support in CDI useful. Shall I create a patch for this to the same bug for
your review?

-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
Sent: 14 April 2008 17:06
To: CDT Debug developers list
Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

So how about we just add small patch that introduces _
ICBreakpoint._/_HARDWARE_/
attribute and CDI change that takes this into account, without modifying
all breakpoint creation functions?

Jiju George T wrote:
>
>
>
> I am not much worried about the UI patch since I can add my own ruler
> actions according to our product requirement without needing any
> modifications in the cdt debug ui plugins. But the real issue I am
> having is with the CDT CDI model.
>
>
>
> I have defined a new breakpoint type, a new marker and also added a
> new attribute to the marker say HARDWARE. I have added this new
> attribute also to the attribute map of CLineBreakpoint as shown below
>
>
>
> _HashMap_ attributes = *new* _HashMap_( 10 );
>
> _attributes.put( IBreakpoint._/_ID_/_,
> /getPluginIdentifier/() )_;
>
> _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
> Integer( lineNumber ) )_;
>
> _attributes.put( IBreakpoint._/_ENABLED_/_,
> Boolean./valueOf/( enabled ) )_;
>
> _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
> _*_new_*_ Integer( ignoreCount ) )_;
>
> _attributes.put( ICBreakpoint._/_CONDITION_/_, condition )_;
>
> _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
> sourceHandle )_;
>
> _attributes.put(
> ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
>
>
>
> *new* CHWLineBreakpoint( resource, attributes, register );
>
>
>
> But when CBreakpointManager processes this CLineBreakpoint, it always
> call cdiTarget.setLineBreakpoint() passing type as
> ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type
> to CDI target. Due to this limitation of CBreakpointManager, hardware
> breakpoint support in the CDI model is really not usable. If we can
> apply the CDI model patch then at least the hardware breakpoint
> feature in CDI model becomes useful.
>
>
>
> Regards,
>
> Jiju
>
>
>
>
>
> -----Original Message-----
> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> Sent: 14 April 2008 15:18
> To: CDT Debug developers list
> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>
>
>
> I think this is too specific to change in general UI.
>
> You can use breakpoint extension mechanism to add more attributes, such
>
> as hardware breakpoint flag.
>
> To create them you have to create your own UI because current ui
>
> mechanism, such as double click on source like does not allow to change
>
> attributes. To change this property you contribute property page, from
>
> there you can implement a call that would re-set breakpoint from
>
> software to hardware.
>
>
>
>
>
> Jiju George T. wrote:
>
> >
>
> > Hi All,
>
> >
>
> > We are developing an embedded debugger based on Eclipse and CDT. I
>
> > am trying to add hardware breakpoints support. When I checked CDT CDI
>
> > model, I could see that ICDIBreakpoint interface already supports
>
> > hardware breakpoints. But CDT core classes like CBreakpoint ,
>
> > CBreakpointManager , CDIDebugModel etc and UI does not provide any
>
> > mechanism to create an ICDIBreakpoint of type ICDIBreakpoint.HARDWARE.
>
> >
>
> > When I searched CDT news groups and bugzilla, I came across below
>
> > enhancement request to add hardware breakpoint support to CDT CDI
>
> > model and UI.
>
> >
>
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
>
> >
>
> > Patches to add hardware breakpoint support in UI and model are
>
> > available in the above. Any idea on why this enhancement is on hold?
>
> > Is it because decision on a better UI for adding Toggle Hardware
>
> > breakpoints has not yet taken? If so then is there any possibility of
>
> > committing the CDI model related changes and leaving UI decision to
>
> > users? This will allow vendors to decide on the UI for hardware
>
> > breakpoint and use CDT plugins without applying any local patches for
>
> > adding hardware breakpoint support to CDI model.
>
> >
>
> > Thanks,
>
> >
>
> > Jiju George
>
> >
>
> >
>
> >
>
> _______________________________________________
>
> cdt-debug-dev mailing list
>
> cdt-debug-dev-j9T/***@public.gmane.org
>
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
Mikhail Khodjaiants
2008-04-15 10:04:14 UTC
Permalink
Adding one flag is not enough. Hardware breakpoint resources are limited
for some architectures. One of the options in this case is to try to set
a hardware breakpoint, but if it fails to set a software breakpoint.
See Freescale's proposals for custom breakpoints.

-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
Sent: Monday, April 14, 2008 5:06 PM
To: CDT Debug developers list
Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

So how about we just add small patch that introduces _
ICBreakpoint._/_HARDWARE_/ attribute and CDI change that takes this into
account, without modifying all breakpoint creation functions?

Jiju George T wrote:
>
>
>
> I am not much worried about the UI patch since I can add my own ruler
> actions according to our product requirement without needing any
> modifications in the cdt debug ui plugins. But the real issue I am
> having is with the CDT CDI model.
>
>
>
> I have defined a new breakpoint type, a new marker and also added a
> new attribute to the marker say HARDWARE. I have added this new
> attribute also to the attribute map of CLineBreakpoint as shown below
>
>
>
> _HashMap_ attributes = *new* _HashMap_( 10 );
>
> _attributes.put( IBreakpoint._/_ID_/_,
> /getPluginIdentifier/() )_;
>
> _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
> Integer( lineNumber ) )_;
>
> _attributes.put( IBreakpoint._/_ENABLED_/_,
> Boolean./valueOf/( enabled ) )_;
>
> _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
> _*_new_*_ Integer( ignoreCount ) )_;
>
> _attributes.put( ICBreakpoint._/_CONDITION_/_, condition
> )_;
>
> _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
> sourceHandle )_;
>
> _attributes.put(
> ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
>
>
>
> *new* CHWLineBreakpoint( resource, attributes, register );
>
>
>
> But when CBreakpointManager processes this CLineBreakpoint, it always
> call cdiTarget.setLineBreakpoint() passing type as
> ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type

> to CDI target. Due to this limitation of CBreakpointManager, hardware
> breakpoint support in the CDI model is really not usable. If we can
> apply the CDI model patch then at least the hardware breakpoint
> feature in CDI model becomes useful.
>
>
>
> Regards,
>
> Jiju
>
>
>
>
>
> -----Original Message-----
> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena
> Laskavaia
> Sent: 14 April 2008 15:18
> To: CDT Debug developers list
> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>
>
>
> I think this is too specific to change in general UI.
>
> You can use breakpoint extension mechanism to add more attributes,
> such
>
> as hardware breakpoint flag.
>
> To create them you have to create your own UI because current ui
>
> mechanism, such as double click on source like does not allow to
> change
>
> attributes. To change this property you contribute property page, from
>
> there you can implement a call that would re-set breakpoint from
>
> software to hardware.
>
>
>
>
>
> Jiju George T. wrote:
>
> >
>
> > Hi All,
>
> >
>
> > We are developing an embedded debugger based on Eclipse and CDT.
> > I
>
> > am trying to add hardware breakpoints support. When I checked CDT
> > CDI
>
> > model, I could see that ICDIBreakpoint interface already supports
>
> > hardware breakpoints. But CDT core classes like CBreakpoint ,
>
> > CBreakpointManager , CDIDebugModel etc and UI does not provide any
>
> > mechanism to create an ICDIBreakpoint of type
ICDIBreakpoint.HARDWARE.
>
> >
>
> > When I searched CDT news groups and bugzilla, I came across below
>
> > enhancement request to add hardware breakpoint support to CDT CDI
>
> > model and UI.
>
> >
>
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
>
> >
>
> > Patches to add hardware breakpoint support in UI and model are
>
> > available in the above. Any idea on why this enhancement is on hold?
>
> > Is it because decision on a better UI for adding Toggle Hardware
>
> > breakpoints has not yet taken? If so then is there any possibility
> > of
>
> > committing the CDI model related changes and leaving UI decision to
>
> > users? This will allow vendors to decide on the UI for hardware
>
> > breakpoint and use CDT plugins without applying any local patches
> > for
>
> > adding hardware breakpoint support to CDI model.
>
> >
>
> > Thanks,
>
> >
>
> > Jiju George
>
> >
>
> >
>
> >
>
> _______________________________________________
>
> cdt-debug-dev mailing list
>
> cdt-debug-dev-j9T/***@public.gmane.org
>
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
_______________________________________________
cdt-debug-dev mailing list
cdt-debug-dev-j9T/***@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev

--
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Jiju George T
2008-04-15 15:55:24 UTC
Permalink
Mikhail,



Can you please check the patch I submitted
(https://bugs.eclipse.org/bugs/attachment.cgi?id=95964) ?



In the patch, I have added the breakpoint type as an attribute in
ICBreakpoint instead of adding separate flags for different types:



/**

* Breakpoint attribute storing the type this breakpoint

* is set in (value <code>"org.eclipse.cdt.debug.core.type"</code>).

* This attribute is a <code>int</code>.

* Possible values are

* <code>ICDIBreakpoint.REGULAR</code>

* <code>ICDIBreakpoint.HARDWARE</code>

* <code>ICDIBreakpoint.TEMPORARY</code>

*

* @since 5.0

*/

public static final String TYPE = "org.eclipse.cdt.debug.core.type";
//$NON-NLS-1$



This patch has nothing to do with how the UI for different breakpoints is
modelled. It just passes the breakpoint type to underlying CDI model (which
should have already been passed as per CDI design; else there is no point in
the different breakpoint types defined in CDI model. Don't know why. ). As
the breakpoint type itself is used, if a new type of breakpoint is added to
ICDIBreakpoint then that can also reach the CDI layer without requiring any
changes.



This will help persons like me who are trying to add custom breakpoint
support using custom UI without needing a patched cdt.debug.core plug-in. As
the UI proposal for hardware breakpoints will take more time to go into an
official release, if we can apply this patch sooner that will be a small
relief.



Thanks,

Jiju





-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Mikhail Khodjaiants
Sent: 15 April 2008 11:04
To: CDT Debug developers list
Subject: RE: [cdt-debug-dev] Hardware breakpoint support in CDT



Adding one flag is not enough. Hardware breakpoint resources are limited

for some architectures. One of the options in this case is to try to set

a hardware breakpoint, but if it fails to set a software breakpoint.

See Freescale's proposals for custom breakpoints.



-----Original Message-----

From: cdt-debug-dev-bounces-j9T/***@public.gmane.org

[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia

Sent: Monday, April 14, 2008 5:06 PM

To: CDT Debug developers list

Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT



So how about we just add small patch that introduces _

ICBreakpoint._/_HARDWARE_/ attribute and CDI change that takes this into

account, without modifying all breakpoint creation functions?



Jiju George T wrote:

>

>

>

> I am not much worried about the UI patch since I can add my own ruler

> actions according to our product requirement without needing any

> modifications in the cdt debug ui plugins. But the real issue I am

> having is with the CDT CDI model.

>

>

>

> I have defined a new breakpoint type, a new marker and also added a

> new attribute to the marker say HARDWARE. I have added this new

> attribute also to the attribute map of CLineBreakpoint as shown below

>

>

>

> _HashMap_ attributes = *new* _HashMap_( 10 );

>

> _attributes.put( IBreakpoint._/_ID_/_,

> /getPluginIdentifier/() )_;

>

> _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_

> Integer( lineNumber ) )_;

>

> _attributes.put( IBreakpoint._/_ENABLED_/_,

> Boolean./valueOf/( enabled ) )_;

>

> _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,

> _*_new_*_ Integer( ignoreCount ) )_;

>

> _attributes.put( ICBreakpoint._/_CONDITION_/_, condition

> )_;

>

> _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,

> sourceHandle )_;

>

> _attributes.put(

> ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;

>

>

>

> *new* CHWLineBreakpoint( resource, attributes, register );

>

>

>

> But when CBreakpointManager processes this CLineBreakpoint, it always

> call cdiTarget.setLineBreakpoint() passing type as

> ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type



> to CDI target. Due to this limitation of CBreakpointManager, hardware

> breakpoint support in the CDI model is really not usable. If we can

> apply the CDI model patch then at least the hardware breakpoint

> feature in CDI model becomes useful.

>

>

>

> Regards,

>

> Jiju

>

>

>

>

>

> -----Original Message-----

> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org

> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena

> Laskavaia

> Sent: 14 April 2008 15:18

> To: CDT Debug developers list

> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

>

>

>

> I think this is too specific to change in general UI.

>

> You can use breakpoint extension mechanism to add more attributes,

> such

>

> as hardware breakpoint flag.

>

> To create them you have to create your own UI because current ui

>

> mechanism, such as double click on source like does not allow to

> change

>

> attributes. To change this property you contribute property page, from

>

> there you can implement a call that would re-set breakpoint from

>

> software to hardware.

>

>

>

>

>

> Jiju George T. wrote:

>

> >

>

> > Hi All,

>

> >

>

> > We are developing an embedded debugger based on Eclipse and CDT.

> > I

>

> > am trying to add hardware breakpoints support. When I checked CDT

> > CDI

>

> > model, I could see that ICDIBreakpoint interface already supports

>

> > hardware breakpoints. But CDT core classes like CBreakpoint ,

>

> > CBreakpointManager , CDIDebugModel etc and UI does not provide any

>

> > mechanism to create an ICDIBreakpoint of type

ICDIBreakpoint.HARDWARE.

>

> >

>

> > When I searched CDT news groups and bugzilla, I came across below

>

> > enhancement request to add hardware breakpoint support to CDT CDI

>

> > model and UI.

>

> >

>

> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100

>

> >

>

> > Patches to add hardware breakpoint support in UI and model are

>

> > available in the above. Any idea on why this enhancement is on hold?

>

> > Is it because decision on a better UI for adding Toggle Hardware

>

> > breakpoints has not yet taken? If so then is there any possibility

> > of

>

> > committing the CDI model related changes and leaving UI decision to

>

> > users? This will allow vendors to decide on the UI for hardware

>

> > breakpoint and use CDT plugins without applying any local patches

> > for

>

> > adding hardware breakpoint support to CDI model.

>

> >

>

> > Thanks,

>

> >

>

> > Jiju George

>

> >

>

> >

>

> >

>

> _______________________________________________

>

> cdt-debug-dev mailing list

>

> cdt-debug-dev-j9T/***@public.gmane.org

>

> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev

>

_______________________________________________

cdt-debug-dev mailing list

cdt-debug-dev-j9T/***@public.gmane.org

https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev



--

IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.





_______________________________________________

cdt-debug-dev mailing list

cdt-debug-dev-j9T/***@public.gmane.org

https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
Mikhail Khodjaiants
2008-04-15 17:56:46 UTC
Permalink
Hi Jiju,

As I mentioned in my previous e-mail the simple addition of these flags
wouldn't solve the problem. For example, one of the use cases is to try
to set a hardware breakpoint, if it fails set a software breakpoint.
This means that we would need an extra flag for this particular
situation.
I would prefer a general solution and as far as I understand John
Cortell from Freescale is looking at it.

Regards,
Mikhail

________________________________

From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Jiju George T
Sent: Tuesday, April 15, 2008 4:55 PM
To: 'CDT Debug developers list'
Subject: RE: [cdt-debug-dev] Hardware breakpoint support in CDT



Mikhail,

Can you please check the patch I submitted
(https://bugs.eclipse.org/bugs/attachment.cgi?id=95964) ?

In the patch, I have added the breakpoint type as an attribute in
ICBreakpoint instead of adding separate flags for different types:

/**

* Breakpoint attribute storing the type this breakpoint

* is set in (value
<code>"org.eclipse.cdt.debug.core.type"</code>).

* This attribute is a <code>int</code>.

* Possible values are

* <code>ICDIBreakpoint.REGULAR</code>

* <code>ICDIBreakpoint.HARDWARE</code>

* <code>ICDIBreakpoint.TEMPORARY</code>

*

* @since 5.0

*/

public static final String TYPE =
"org.eclipse.cdt.debug.core.type"; //$NON-NLS-1$



This patch has nothing to do with how the UI for different breakpoints
is modelled. It just passes the breakpoint type to underlying CDI model
(which should have already been passed as per CDI design; else there is
no point in the different breakpoint types defined in CDI model. Don't
know why. ). As the breakpoint type itself is used, if a new type of
breakpoint is added to ICDIBreakpoint then that can also reach the CDI
layer without requiring any changes.

This will help persons like me who are trying to add custom breakpoint
support using custom UI without needing a patched cdt.debug.core
plug-in. As the UI proposal for hardware breakpoints will take more time
to go into an official release, if we can apply this patch sooner that
will be a small relief.

Thanks,

Jiju

-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Mikhail
Khodjaiants
Sent: 15 April 2008 11:04
To: CDT Debug developers list
Subject: RE: [cdt-debug-dev] Hardware breakpoint support in CDT

Adding one flag is not enough. Hardware breakpoint resources are limited

for some architectures. One of the options in this case is to try to set

a hardware breakpoint, but if it fails to set a software breakpoint.

See Freescale's proposals for custom breakpoints.

-----Original Message-----

From: cdt-debug-dev-bounces-j9T/***@public.gmane.org

[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia

Sent: Monday, April 14, 2008 5:06 PM

To: CDT Debug developers list

Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

So how about we just add small patch that introduces _

ICBreakpoint._/_HARDWARE_/ attribute and CDI change that takes this into

account, without modifying all breakpoint creation functions?

Jiju George T wrote:

>

>

>

> I am not much worried about the UI patch since I can add my own ruler

> actions according to our product requirement without needing any

> modifications in the cdt debug ui plugins. But the real issue I am

> having is with the CDT CDI model.

>

>

>

> I have defined a new breakpoint type, a new marker and also added a

> new attribute to the marker say HARDWARE. I have added this new

> attribute also to the attribute map of CLineBreakpoint as shown below

>

>

>

> _HashMap_ attributes = *new* _HashMap_( 10 );

>

> _attributes.put( IBreakpoint._/_ID_/_,

> /getPluginIdentifier/() )_;

>

> _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_

> Integer( lineNumber ) )_;

>

> _attributes.put( IBreakpoint._/_ENABLED_/_,

> Boolean./valueOf/( enabled ) )_;

>

> _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,

> _*_new_*_ Integer( ignoreCount ) )_;

>

> _attributes.put( ICBreakpoint._/_CONDITION_/_, condition

> )_;

>

> _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,

> sourceHandle )_;

>

> _attributes.put(

> ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;

>

>

>

> *new* CHWLineBreakpoint( resource, attributes, register );

>

>

>

> But when CBreakpointManager processes this CLineBreakpoint, it always

> call cdiTarget.setLineBreakpoint() passing type as

> ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type

> to CDI target. Due to this limitation of CBreakpointManager, hardware

> breakpoint support in the CDI model is really not usable. If we can

> apply the CDI model patch then at least the hardware breakpoint

> feature in CDI model becomes useful.

>

>

>

> Regards,

>

> Jiju

>

>

>

>

>

> -----Original Message-----

> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org

> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena

> Laskavaia

> Sent: 14 April 2008 15:18

> To: CDT Debug developers list

> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

>

>

>

> I think this is too specific to change in general UI.

>

> You can use breakpoint extension mechanism to add more attributes,

> such

>

> as hardware breakpoint flag.

>

> To create them you have to create your own UI because current ui

>

> mechanism, such as double click on source like does not allow to

> change

>

> attributes. To change this property you contribute property page, from

>

> there you can implement a call that would re-set breakpoint from

>

> software to hardware.

>

>

>

>

>

> Jiju George T. wrote:

>

> >

>

> > Hi All,

>

> >

>

> > We are developing an embedded debugger based on Eclipse and CDT.

> > I

>

> > am trying to add hardware breakpoints support. When I checked CDT

> > CDI

>

> > model, I could see that ICDIBreakpoint interface already supports

>

> > hardware breakpoints. But CDT core classes like CBreakpoint ,

>

> > CBreakpointManager , CDIDebugModel etc and UI does not provide any

>

> > mechanism to create an ICDIBreakpoint of type

ICDIBreakpoint.HARDWARE.

>

> >

>

> > When I searched CDT news groups and bugzilla, I came across below

>

> > enhancement request to add hardware breakpoint support to CDT CDI

>

> > model and UI.

>

> >

>

> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100

>

> >

>

> > Patches to add hardware breakpoint support in UI and model are

>

> > available in the above. Any idea on why this enhancement is on hold?

>

> > Is it because decision on a better UI for adding Toggle Hardware

>

> > breakpoints has not yet taken? If so then is there any possibility

> > of

>

> > committing the CDI model related changes and leaving UI decision to

>

> > users? This will allow vendors to decide on the UI for hardware

>

> > breakpoint and use CDT plugins without applying any local patches

> > for

>

> > adding hardware breakpoint support to CDI model.

>

> >

>

> > Thanks,

>

> >

>

> > Jiju George

>

> >

>

> >

>

> >

>

> _______________________________________________

>

> cdt-debug-dev mailing list

>

> cdt-debug-dev-j9T/***@public.gmane.org

>

> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev

>

_______________________________________________

cdt-debug-dev mailing list

cdt-debug-dev-j9T/***@public.gmane.org

https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev

--

IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy
the information in any medium. Thank you.

_______________________________________________

cdt-debug-dev mailing list

cdt-debug-dev-j9T/***@public.gmane.org

https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
John Cortell
2008-04-15 18:19:38 UTC
Permalink
_______________________________________________
cdt-debug-dev mailing list
cdt-debug-dev-j9T/***@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
Elena Laskavaia
2008-04-14 16:25:03 UTC
Permalink
Yes please create another patch for 118100


Jiju George T wrote:
>
> Yes. That is the best way I can think now of making the hardware
> breakpoint
> support in CDI useful. Shall I create a patch for this to the same bug
> for
> your review?
>
> -----Original Message-----
> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> Sent: 14 April 2008 17:06
> To: CDT Debug developers list
> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>
> So how about we just add small patch that introduces _
> ICBreakpoint._/_HARDWARE_/
> attribute and CDI change that takes this into account, without modifying
> all breakpoint creation functions?
>
> Jiju George T wrote:
> >
> >
> >
> > I am not much worried about the UI patch since I can add my own ruler
> > actions according to our product requirement without needing any
> > modifications in the cdt debug ui plugins. But the real issue I am
> > having is with the CDT CDI model.
> >
> >
> >
> > I have defined a new breakpoint type, a new marker and also added a
> > new attribute to the marker say HARDWARE. I have added this new
> > attribute also to the attribute map of CLineBreakpoint as shown below
> >
> >
> >
> > _HashMap_ attributes = *new* _HashMap_( 10 );
> >
> > _attributes.put( IBreakpoint._/_ID_/_,
> > /getPluginIdentifier/() )_;
> >
> > _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
> > Integer( lineNumber ) )_;
> >
> > _attributes.put( IBreakpoint._/_ENABLED_/_,
> > Boolean./valueOf/( enabled ) )_;
> >
> > _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
> > _*_new_*_ Integer( ignoreCount ) )_;
> >
> > _attributes.put( ICBreakpoint._/_CONDITION_/_, condition
> )_;
> >
> > _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
> > sourceHandle )_;
> >
> > _attributes.put(
> > ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
> >
> >
> >
> > *new* CHWLineBreakpoint( resource, attributes, register );
> >
> >
> >
> > But when CBreakpointManager processes this CLineBreakpoint, it always
> > call cdiTarget.setLineBreakpoint() passing type as
> > ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type
> > to CDI target. Due to this limitation of CBreakpointManager, hardware
> > breakpoint support in the CDI model is really not usable. If we can
> > apply the CDI model patch then at least the hardware breakpoint
> > feature in CDI model becomes useful.
> >
> >
> >
> > Regards,
> >
> > Jiju
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> > [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> > Sent: 14 April 2008 15:18
> > To: CDT Debug developers list
> > Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
> >
> >
> >
> > I think this is too specific to change in general UI.
> >
> > You can use breakpoint extension mechanism to add more attributes, such
> >
> > as hardware breakpoint flag.
> >
> > To create them you have to create your own UI because current ui
> >
> > mechanism, such as double click on source like does not allow to change
> >
> > attributes. To change this property you contribute property page, from
> >
> > there you can implement a call that would re-set breakpoint from
> >
> > software to hardware.
> >
> >
> >
> >
> >
> > Jiju George T. wrote:
> >
> > >
> >
> > > Hi All,
> >
> > >
> >
> > > We are developing an embedded debugger based on Eclipse and CDT. I
> >
> > > am trying to add hardware breakpoints support. When I checked CDT CDI
> >
> > > model, I could see that ICDIBreakpoint interface already supports
> >
> > > hardware breakpoints. But CDT core classes like CBreakpoint ,
> >
> > > CBreakpointManager , CDIDebugModel etc and UI does not provide any
> >
> > > mechanism to create an ICDIBreakpoint of type
> ICDIBreakpoint.HARDWARE.
> >
> > >
> >
> > > When I searched CDT news groups and bugzilla, I came across below
> >
> > > enhancement request to add hardware breakpoint support to CDT CDI
> >
> > > model and UI.
> >
> > >
> >
> > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
> >
> > >
> >
> > > Patches to add hardware breakpoint support in UI and model are
> >
> > > available in the above. Any idea on why this enhancement is on hold?
> >
> > > Is it because decision on a better UI for adding Toggle Hardware
> >
> > > breakpoints has not yet taken? If so then is there any possibility of
> >
> > > committing the CDI model related changes and leaving UI decision to
> >
> > > users? This will allow vendors to decide on the UI for hardware
> >
> > > breakpoint and use CDT plugins without applying any local patches for
> >
> > > adding hardware breakpoint support to CDI model.
> >
> > >
> >
> > > Thanks,
> >
> > >
> >
> > > Jiju George
> >
> > >
> >
> > >
> >
> > >
> >
> > _______________________________________________
> >
> > cdt-debug-dev mailing list
> >
> > cdt-debug-dev-j9T/***@public.gmane.org
> >
> > https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
> >
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev-j9T/***@public.gmane.org
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
>
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev-j9T/***@public.gmane.org
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
Jiju George T
2008-04-14 19:00:57 UTC
Permalink
I have attached a patch to the bug.

(https://bugs.eclipse.org/bugs/attachment.cgi?id=95964)

Can you please check?

Thanks,
Jiju

-----Original Message-----
From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
[mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
Sent: 14 April 2008 17:25
To: CDT Debug developers list
Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT

Yes please create another patch for 118100


Jiju George T wrote:
>
> Yes. That is the best way I can think now of making the hardware
> breakpoint
> support in CDI useful. Shall I create a patch for this to the same bug
> for
> your review?
>
> -----Original Message-----
> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> Sent: 14 April 2008 17:06
> To: CDT Debug developers list
> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>
> So how about we just add small patch that introduces _
> ICBreakpoint._/_HARDWARE_/
> attribute and CDI change that takes this into account, without modifying
> all breakpoint creation functions?
>
> Jiju George T wrote:
> >
> >
> >
> > I am not much worried about the UI patch since I can add my own ruler
> > actions according to our product requirement without needing any
> > modifications in the cdt debug ui plugins. But the real issue I am
> > having is with the CDT CDI model.
> >
> >
> >
> > I have defined a new breakpoint type, a new marker and also added a
> > new attribute to the marker say HARDWARE. I have added this new
> > attribute also to the attribute map of CLineBreakpoint as shown below
> >
> >
> >
> > _HashMap_ attributes = *new* _HashMap_( 10 );
> >
> > _attributes.put( IBreakpoint._/_ID_/_,
> > /getPluginIdentifier/() )_;
> >
> > _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
> > Integer( lineNumber ) )_;
> >
> > _attributes.put( IBreakpoint._/_ENABLED_/_,
> > Boolean./valueOf/( enabled ) )_;
> >
> > _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
> > _*_new_*_ Integer( ignoreCount ) )_;
> >
> > _attributes.put( ICBreakpoint._/_CONDITION_/_, condition
> )_;
> >
> > _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
> > sourceHandle )_;
> >
> > _attributes.put(
> > ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
> >
> >
> >
> > *new* CHWLineBreakpoint( resource, attributes, register );
> >
> >
> >
> > But when CBreakpointManager processes this CLineBreakpoint, it always
> > call cdiTarget.setLineBreakpoint() passing type as
> > ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type
> > to CDI target. Due to this limitation of CBreakpointManager, hardware
> > breakpoint support in the CDI model is really not usable. If we can
> > apply the CDI model patch then at least the hardware breakpoint
> > feature in CDI model becomes useful.
> >
> >
> >
> > Regards,
> >
> > Jiju
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
> > [mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
> > Sent: 14 April 2008 15:18
> > To: CDT Debug developers list
> > Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
> >
> >
> >
> > I think this is too specific to change in general UI.
> >
> > You can use breakpoint extension mechanism to add more attributes, such
> >
> > as hardware breakpoint flag.
> >
> > To create them you have to create your own UI because current ui
> >
> > mechanism, such as double click on source like does not allow to change
> >
> > attributes. To change this property you contribute property page, from
> >
> > there you can implement a call that would re-set breakpoint from
> >
> > software to hardware.
> >
> >
> >
> >
> >
> > Jiju George T. wrote:
> >
> > >
> >
> > > Hi All,
> >
> > >
> >
> > > We are developing an embedded debugger based on Eclipse and CDT. I
> >
> > > am trying to add hardware breakpoints support. When I checked CDT CDI
> >
> > > model, I could see that ICDIBreakpoint interface already supports
> >
> > > hardware breakpoints. But CDT core classes like CBreakpoint ,
> >
> > > CBreakpointManager , CDIDebugModel etc and UI does not provide any
> >
> > > mechanism to create an ICDIBreakpoint of type
> ICDIBreakpoint.HARDWARE.
> >
> > >
> >
> > > When I searched CDT news groups and bugzilla, I came across below
> >
> > > enhancement request to add hardware breakpoint support to CDT CDI
> >
> > > model and UI.
> >
> > >
> >
> > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
> >
> > >
> >
> > > Patches to add hardware breakpoint support in UI and model are
> >
> > > available in the above. Any idea on why this enhancement is on hold?
> >
> > > Is it because decision on a better UI for adding Toggle Hardware
> >
> > > breakpoints has not yet taken? If so then is there any possibility of
> >
> > > committing the CDI model related changes and leaving UI decision to
> >
> > > users? This will allow vendors to decide on the UI for hardware
> >
> > > breakpoint and use CDT plugins without applying any local patches for
> >
> > > adding hardware breakpoint support to CDI model.
> >
> > >
> >
> > > Thanks,
> >
> > >
> >
> > > Jiju George
> >
> > >
> >
> > >
> >
> > >
> >
> > _______________________________________________
> >
> > cdt-debug-dev mailing list
> >
> > cdt-debug-dev-j9T/***@public.gmane.org
> >
> > https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
> >
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev-j9T/***@public.gmane.org
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
>
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev-j9T/***@public.gmane.org
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
Elena Laskavaia
2008-04-15 19:55:01 UTC
Permalink
I looked at it. UI Proposal looks good. I just don't know if everybody
needs this. This is the same question that is discussed right now with
the catchpoints, how to make UI context sensitive and debugger sensitive...


John Cortell wrote:
> We already have it :-) And we're happy to contribute it. I've posted
> the high level design document for people to consider. I'm waiting to
> get some feedback on it. So far I haven't heard anything so it's hard
> to move forward with it.
>
> John
>
> At 12:56 PM 4/15/2008, Mikhail Khodjaiants wrote:
>> Content-Class: urn:content-classes:message
>> Content-Type: multipart/alternative;
>> boundary="----_=_NextPart_001_01C89F22.126532A8"
>>
>> Hi Jiju,
>>
>> As I mentioned in my previous e-mail the simple addition of these
>> flags wouldn't solve the problem. For example, one of the use cases
>> is to try to set a hardware breakpoint, if it fails set a software
>> breakpoint. This means that we would need an extra flag for this
>> particular situation.
>> I would prefer a general solution and as far as I understand John
>> Cortell from Freescale is looking at it.
>>
>> Regards,
>> Mikhail
>>
>> ------------------------------------------------------------------------
>> *From:* cdt-debug-dev-bounces-j9T/***@public.gmane.org [
>> mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] *On Behalf Of *Jiju George T
>> *Sent:* Tuesday, April 15, 2008 4:55 PM
>> *To:* 'CDT Debug developers list'
>> *Subject:* RE: [cdt-debug-dev] Hardware breakpoint support in CDT
>>
>> Mikhail,
>>
>> Can you please check the patch I submitted (
>> https://bugs.eclipse.org/bugs/attachment.cgi?id=95964) ?
>>
>> In the patch, I have added the breakpoint type as an attribute in
>> ICBreakpoint instead of adding separate flags for different types:
>>
>> /**
>>
>> * Breakpoint attribute storing the type this breakpoint
>>
>> * is set in (value <code> "_org_ .eclipse._cdt_.debug.core.type"
>> </code> ).
>>
>> * This attribute is a <code> _int_ </code> .
>>
>> * Possible values are
>>
>> * <code> ICDIBreakpoint.REGULAR </code>
>>
>> * <code> ICDIBreakpoint.HARDWARE </code>
>>
>> * <code> ICDIBreakpoint.TEMPORARY </code>
>>
>> *
>>
>> * * @since* 5.0
>>
>> */
>>
>> *public* *static* *final* String /TYPE/ =
>> "org.eclipse.cdt.debug.core.type"; //$NON-NLS-1$
>>
>>
>>
>> This patch has nothing to do with how the UI for different
>> breakpoints is modelled. It just passes the breakpoint type to
>> underlying CDI model (which should have already been passed as per
>> CDI design; else there is no point in the different breakpoint types
>> defined in CDI model. Don’t know why. ). As the breakpoint type
>> itself is used, if a new type of breakpoint is added to
>> ICDIBreakpoint then that can also reach the CDI layer without
>> requiring any changes.
>>
>> This will help persons like me who are trying to add custom
>> breakpoint support using custom UI without needing a patched
>> cdt.debug.core plug-in. As the UI proposal for hardware breakpoints
>> will take more time to go into an official release, if we can apply
>> this patch sooner that will be a small relief.
>>
>> Thanks,
>>
>> Jiju
>>
>> -----Original Message-----
>> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org [
>> mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Mikhail
>> Khodjaiants
>> Sent: 15 April 2008 11:04
>> To: CDT Debug developers list
>> Subject: RE: [cdt-debug-dev] Hardware breakpoint support in CDT
>>
>> Adding one flag is not enough. Hardware breakpoint resources are limited
>>
>> for some architectures. One of the options in this case is to try to set
>>
>> a hardware breakpoint, but if it fails to set a software breakpoint.
>>
>> See Freescale's proposals for custom breakpoints.
>>
>> -----Original Message-----
>>
>> From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
>>
>> [ mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena Laskavaia
>>
>> Sent: Monday, April 14, 2008 5:06 PM
>>
>> To: CDT Debug developers list
>>
>> Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>>
>> So how about we just add small patch that introduces _
>>
>> ICBreakpoint._/_HARDWARE_/ attribute and CDI change that takes this into
>>
>> account, without modifying all breakpoint creation functions?
>>
>> Jiju George T wrote:
>>
>> >
>>
>> >
>>
>> >
>>
>> > I am not much worried about the UI patch since I can add my own ruler
>>
>> > actions according to our product requirement without needing any
>>
>> > modifications in the cdt debug ui plugins. But the real issue I am
>>
>> > having is with the CDT CDI model.
>>
>> >
>>
>> >
>>
>> >
>>
>> > I have defined a new breakpoint type, a new marker and also added a
>>
>> > new attribute to the marker say HARDWARE. I have added this new
>>
>> > attribute also to the attribute map of CLineBreakpoint as shown below
>>
>> >
>>
>> >
>>
>> >
>>
>> > _HashMap_ attributes = *new* _HashMap_( 10 );
>>
>> >
>>
>> > _attributes.put( IBreakpoint._/_ID_/_,
>>
>> > /getPluginIdentifier/() )_;
>>
>> >
>>
>> > _attributes.put( IMarker._/_LINE_NUMBER_/_, _*_new_*_
>>
>> > Integer( lineNumber ) )_;
>>
>> >
>>
>> > _attributes.put( IBreakpoint._/_ENABLED_/_,
>>
>> > Boolean./valueOf/( enabled ) )_;
>>
>> >
>>
>> > _attributes.put( ICBreakpoint._/_IGNORE_COUNT_/_,
>>
>> > _*_new_*_ Integer( ignoreCount ) )_;
>>
>> >
>>
>> > _attributes.put( ICBreakpoint._/_CONDITION_/_, condition
>>
>> > )_;
>>
>> >
>>
>> > _attributes.put( ICBreakpoint._/_SOURCE_HANDLE_/_,
>>
>> > sourceHandle )_;
>>
>> >
>>
>> > _attributes.put(
>>
>> > ICBreakpoint._/_HARDWARE_/_,ICBreakpoint._/_HARDWARE_/_, true )_;
>>
>> >
>>
>> >
>>
>> >
>>
>> > *new* CHWLineBreakpoint( resource, attributes, register );
>>
>> >
>>
>> >
>>
>> >
>>
>> > But when CBreakpointManager processes this CLineBreakpoint, it always
>>
>> > call cdiTarget.setLineBreakpoint() passing type as
>>
>> > ICDIBreakpoint.REGULAR. It never passes on ICDIBreakpoint.HARWARE type
>>
>> > to CDI target. Due to this limitation of CBreakpointManager, hardware
>>
>> > breakpoint support in the CDI model is really not usable. If we can
>>
>> > apply the CDI model patch then at least the hardware breakpoint
>>
>> > feature in CDI model becomes useful.
>>
>> >
>>
>> >
>>
>> >
>>
>> > Regards,
>>
>> >
>>
>> > Jiju
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> > -----Original Message-----
>>
>> > From: cdt-debug-dev-bounces-j9T/***@public.gmane.org
>>
>> > [ mailto:cdt-debug-dev-bounces-j9T/***@public.gmane.org] On Behalf Of Elena
>>
>> > Laskavaia
>>
>> > Sent: 14 April 2008 15:18
>>
>> > To: CDT Debug developers list
>>
>> > Subject: Re: [cdt-debug-dev] Hardware breakpoint support in CDT
>>
>> >
>>
>> >
>>
>> >
>>
>> > I think this is too specific to change in general UI.
>>
>> >
>>
>> > You can use breakpoint extension mechanism to add more attributes,
>>
>> > such
>>
>> >
>>
>> > as hardware breakpoint flag.
>>
>> >
>>
>> > To create them you have to create your own UI because current ui
>>
>> >
>>
>> > mechanism, such as double click on source like does not allow to
>>
>> > change
>>
>> >
>>
>> > attributes. To change this property you contribute property page, from
>>
>> >
>>
>> > there you can implement a call that would re-set breakpoint from
>>
>> >
>>
>> > software to hardware.
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> > Jiju George T. wrote:
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Hi All,
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > We are developing an embedded debugger based on Eclipse and CDT.
>>
>> > > I
>>
>> >
>>
>> > > am trying to add hardware breakpoints support. When I checked CDT
>>
>> > > CDI
>>
>> >
>>
>> > > model, I could see that ICDIBreakpoint interface already supports
>>
>> >
>>
>> > > hardware breakpoints. But CDT core classes like CBreakpoint ,
>>
>> >
>>
>> > > CBreakpointManager , CDIDebugModel etc and UI does not provide any
>>
>> >
>>
>> > > mechanism to create an ICDIBreakpoint of type
>>
>> ICDIBreakpoint.HARDWARE.
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > When I searched CDT news groups and bugzilla, I came across below
>>
>> >
>>
>> > > enhancement request to add hardware breakpoint support to CDT CDI
>>
>> >
>>
>> > > model and UI.
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=118100
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Patches to add hardware breakpoint support in UI and model are
>>
>> >
>>
>> > > available in the above. Any idea on why this enhancement is on hold?
>>
>> >
>>
>> > > Is it because decision on a better UI for adding Toggle Hardware
>>
>> >
>>
>> > > breakpoints has not yet taken? If so then is there any possibility
>>
>> > > of
>>
>> >
>>
>> > > committing the CDI model related changes and leaving UI decision to
>>
>> >
>>
>> > > users? This will allow vendors to decide on the UI for hardware
>>
>> >
>>
>> > > breakpoint and use CDT plugins without applying any local patches
>>
>> > > for
>>
>> >
>>
>> > > adding hardware breakpoint support to CDI model.
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Thanks,
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Jiju George
>>
>> >
>>
>> > >
>>
>> >
>>
>> > >
>>
>> >
>>
>> > >
>>
>> >
>>
>> > _______________________________________________
>>
>> >
>>
>> > cdt-debug-dev mailing list
>>
>> >
>>
>> > cdt-debug-dev-j9T/***@public.gmane.org
>>
>> >
>>
>> > https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>>
>> >
>>
>> _______________________________________________
>>
>> cdt-debug-dev mailing list
>>
>> cdt-debug-dev-j9T/***@public.gmane.org
>>
>> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>>
>> --
>>
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose
>> the contents to any other person, use it for any purpose, or store or
>> copy the information in any medium. Thank you.
>>
>> _______________________________________________
>>
>> cdt-debug-dev mailing list
>>
>> cdt-debug-dev-j9T/***@public.gmane.org
>>
>> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>>
>> --
>>
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose
>> the contents to any other person, use it for any purpose, or store or
>> copy the information in any medium. Thank you.
>> _______________________________________________
>> cdt-debug-dev mailing list
>> cdt-debug-dev-j9T/***@public.gmane.org
>> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
Loading...