Breakpoint marker question

View: New views
4 Messages — Rating Filter:   Alert me  

Breakpoint marker question

by Marc Khouzam :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
 
I'm looking at the breakpoint markers in plugin.xml of org.eclipse.cdt.debug.core.

The hierarchy is like this with attributes in parens:

     lineBreakpointMarker         breakpointMarker    
                    \                     |  
                     \             cBreakpointMarker (condition, ignoreCount, threadId, installCount, sourceHandle, bpType)
                      \                   |    
                       commonCLineBreakpointMarker
                      /       |                    \
cFunctionBreakpointMarker     |                cLineBreakpointMarker (function, address)
                              |
                      cAddressBreakpointMarker  

What is strange is that the two attribute 'function' and 'address' are with cLineBreakpointMarker.
Shouldn't they be with commonCLineBreakpointMarker intead,
so that cAddressBreakpointMarker  and cFunctionBreakpointMarker would inherit them?

Thanks

P.S. I haven't figured out if these attributes are important or not...
_______________________________________________
cdt-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-dev

RE: Breakpoint marker question

by Mikhail Khodjaiants-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Marc,

Breakpoint markers are used to persist the breakpoint attributes between
Eclipse sessions. Storing the current address for a function or a line
breakpoint is wrong because it can be different if the executable is
changed. The 'address' property is never used for line breakpoints (the
line and function breakpoint's addresses are retrieved from the
backend).
So the answer is No, they shouldn't. In fact, both 'function' and
'address' shouldn't have been added to cLineBreakpointMarker. But their
presence doesn't affect the implementation.

Cheers,
Mikhail
-----Original Message-----
From: cdt-dev-bounces@... [mailto:cdt-dev-bounces@...]
On Behalf Of Marc Khouzam
Sent: Thursday, November 12, 2009 8:39 PM
To: 'CDT General developers list.'
Subject: [cdt-dev] Breakpoint marker question

Hi,
 
I'm looking at the breakpoint markers in plugin.xml of
org.eclipse.cdt.debug.core.

The hierarchy is like this with attributes in parens:

     lineBreakpointMarker         breakpointMarker    
                    \                     |  
                     \             cBreakpointMarker (condition,
ignoreCount, threadId, installCount, sourceHandle, bpType)
                      \                   |    
                       commonCLineBreakpointMarker
                      /       |                    \
cFunctionBreakpointMarker     |                cLineBreakpointMarker
(function, address)
                              |
                      cAddressBreakpointMarker  

What is strange is that the two attribute 'function' and 'address' are
with cLineBreakpointMarker.
Shouldn't they be with commonCLineBreakpointMarker intead, so that
cAddressBreakpointMarker  and cFunctionBreakpointMarker would inherit
them?

Thanks

P.S. I haven't figured out if these attributes are important or not...
_______________________________________________
cdt-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-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-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-dev

RE: Breakpoint marker question

by Marc Khouzam :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Thanks for the answer Mikhail.

> Breakpoint markers are used to persist the breakpoint
> attributes between Eclipse sessions.
>
> Storing the current address for a function or a line
> breakpoint is wrong because it can be different if the executable is
> changed. The 'address' property is never used for line
> breakpoints (the
> line and function breakpoint's addresses are retrieved from the
> backend).
> So the answer is No, they shouldn't. In fact, both 'function' and
> 'address' shouldn't have been added to cLineBreakpointMarker.
> But their
> presence doesn't affect the implementation.

If we take 'address' as an example.  I create an address-bp and then
I exit Eclipse.  When I start a new Eclipse, the address-bp is in the
workspace with the right address; I haven't launched anything yet, so
this address can't be taken from the backend.  I guess the marker
was used to store the address, even though it seems that marker does not
have an 'address' attribute.

It seems that any attribute can be added programatically to a marker,
even if that attribute was not declared in XML.  I haven't figured out
if declaring the attribute in XML is actually important.

But I guess it doesn't matter now, since things work properly.
(I've declared the tracepoint marker with the passCount attribute, just
in case).

Thanks


>
> Cheers,
> Mikhail
> -----Original Message-----
> From: cdt-dev-bounces@... [mailto:cdt-dev-bounces@...]
> On Behalf Of Marc Khouzam
> Sent: Thursday, November 12, 2009 8:39 PM
> To: 'CDT General developers list.'
> Subject: [cdt-dev] Breakpoint marker question
>
> Hi,
>  
> I'm looking at the breakpoint markers in plugin.xml of
> org.eclipse.cdt.debug.core.
>
> The hierarchy is like this with attributes in parens:
>
>      lineBreakpointMarker         breakpointMarker    
>                     \                     |  
>                      \             cBreakpointMarker (condition,
> ignoreCount, threadId, installCount, sourceHandle, bpType)
>                       \                   |    
>                        commonCLineBreakpointMarker
>                       /       |                    \
> cFunctionBreakpointMarker     |                cLineBreakpointMarker
> (function, address)
>                               |
>                       cAddressBreakpointMarker  
>
> What is strange is that the two attribute 'function' and 'address' are
> with cLineBreakpointMarker.
> Shouldn't they be with commonCLineBreakpointMarker intead, so that
> cAddressBreakpointMarker  and cFunctionBreakpointMarker would inherit
> them?
>
> Thanks
>
> P.S. I haven't figured out if these attributes are important or not...
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@...
> https://dev.eclipse.org/mailman/listinfo/cdt-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-dev mailing list
> cdt-dev@...
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
cdt-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-dev

RE: Breakpoint marker question

by Mikhail Khodjaiants-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This code is written in 2002. Many things have changed since :)

-----Original Message-----
From: cdt-dev-bounces@... [mailto:cdt-dev-bounces@...]
On Behalf Of Marc Khouzam
Sent: Friday, November 13, 2009 1:59 PM
To: 'CDT General developers list.'
Subject: RE: [cdt-dev] Breakpoint marker question


Thanks for the answer Mikhail.

> Breakpoint markers are used to persist the breakpoint attributes
> between Eclipse sessions.
>
> Storing the current address for a function or a line breakpoint is
> wrong because it can be different if the executable is changed. The
> 'address' property is never used for line breakpoints (the line and
> function breakpoint's addresses are retrieved from the backend).
> So the answer is No, they shouldn't. In fact, both 'function' and
> 'address' shouldn't have been added to cLineBreakpointMarker.
> But their
> presence doesn't affect the implementation.

If we take 'address' as an example.  I create an address-bp and then I
exit Eclipse.  When I start a new Eclipse, the address-bp is in the
workspace with the right address; I haven't launched anything yet, so
this address can't be taken from the backend.  I guess the marker was
used to store the address, even though it seems that marker does not
have an 'address' attribute.

It seems that any attribute can be added programatically to a marker,
even if that attribute was not declared in XML.  I haven't figured out
if declaring the attribute in XML is actually important.

But I guess it doesn't matter now, since things work properly.
(I've declared the tracepoint marker with the passCount attribute, just
in case).

Thanks


>
> Cheers,
> Mikhail
> -----Original Message-----
> From: cdt-dev-bounces@... [mailto:cdt-dev-bounces@...]
> On Behalf Of Marc Khouzam
> Sent: Thursday, November 12, 2009 8:39 PM
> To: 'CDT General developers list.'
> Subject: [cdt-dev] Breakpoint marker question
>
> Hi,
>  
> I'm looking at the breakpoint markers in plugin.xml of
> org.eclipse.cdt.debug.core.
>
> The hierarchy is like this with attributes in parens:
>
>      lineBreakpointMarker         breakpointMarker    
>                     \                     |  
>                      \             cBreakpointMarker (condition,
> ignoreCount, threadId, installCount, sourceHandle, bpType)
>                       \                   |    
>                        commonCLineBreakpointMarker
>                       /       |                    \
> cFunctionBreakpointMarker     |                cLineBreakpointMarker
> (function, address)
>                               |
>                       cAddressBreakpointMarker  
>
> What is strange is that the two attribute 'function' and 'address' are

> with cLineBreakpointMarker.
> Shouldn't they be with commonCLineBreakpointMarker intead, so that
> cAddressBreakpointMarker  and cFunctionBreakpointMarker would inherit
> them?
>
> Thanks
>
> P.S. I haven't figured out if these attributes are important or not...
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@...
> https://dev.eclipse.org/mailman/listinfo/cdt-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-dev mailing list
> cdt-dev@...
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
cdt-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-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-dev mailing list
cdt-dev@...
https://dev.eclipse.org/mailman/listinfo/cdt-dev