Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tcf-dev] [Correction] FW: Agent unplants breakpoints for unknown reason

Have to make a correction:

I am not quite sure yet why it the breakpoints are now recognized as "Hardware". But now I notice that the breakpoints are getting marked as dirty in validate_bi_refs() which is the reason why they get now removed in flush_instructions().

The description of the dirty flag is "the instruction is planted, but planting data is obsolete". What do I have to do such that my breakpoints do not get flagged as "dirty"?

Best refards
 
--
Stefan Falk

Infineon Technologies Austria AG
Trainee
Automotive Sense and Control
Component Verification

Tel:  +43 (0)5 / 1777 - 5439
Email: stefan.falk@xxxxxxxxxxxx

"Aim above the mark to hit the mark." - Ralph Waldo Emerson

-----Original Message-----
From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Eugene Tarassov
Sent: Wednesday, May 14, 2014 8:08 PM
To: TCF Development
Subject: Re: [tcf-dev] Agent unplants breakpoints for unknown reason

In TCF, breakpoint type can be one of: Hardware, Software, Auto. Default is Auto.
Note that Eclipse does not have a Software checkbox, so it can only create Hardware and Auto breakpoints.
The agent first calls context_plant_breakpoint() (which calls cpu_bp_plant()) for all breakpoints, regardless of type.
If the function returns ERR_UNSUPPORTED and the type is not Hardware, then the agent falls back to planting software breakpoint.
So, if you don't want software breakpoints, just don't return ERR_UNSUPPORTED from context_plant_breakpoint().

Regards,
Eugene


-----Original Message-----
From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Stefan.Falk@xxxxxxxxxxxx
Sent: Wednesday, May 14, 2014 10:06 AM
To: tcf-dev@xxxxxxxxxxx
Subject: [tcf-dev] FW: Agent unplants breakpoints for unknown reason

I can now give a better description of my problem:

What I want to do is to pretend as if there were only Hardware-Breakpoints. Only cpu_bp_plant() and cpu_bp_remove() have to handle the breakpoints on the debug-device side (which both are already capable of).

But if I set e.g. two breakpoints in Eclipse, cpu_bp_remove() gets called, because those BPs were not declared as "Hardware". The problem is that I can only declare those breakpoints as "Hardware" at runtime.

Can I somehow work around this problem? I need the TCF Agent treat any breakpoint as "Hardware" Breakpoint because basically this is what they appear to be on the TCF Agent side. Is it possible to declare Hardware-Breakpoints inside Eclipse IDE using the TCF Plugin without having to run the program at least once (Right-Click at Breakpoint -> Breakpoint properties -> check "Hardware")?

Best regards and thank you for any help here!


--
Stefan Falk

Infineon Technologies Austria AG
Trainee
Automotive Sense and Control
Component Verification

Tel:  +43 (0)5 / 1777 - 5439
Email: stefan.falk@xxxxxxxxxxxx<mailto:stefan.falk@xxxxxxxxxxxx>

"Aim above the mark to hit the mark." - Ralph Waldo Emerson


_____________________________________________
From: Falk Stefan (IFAT DCGR ATV SC CV)
Sent: Wednesday, May 14, 2014 3:25 PM
To: 'TCF Development'
Subject: Agent unplants breakpoints for unknown reason


By "unknown reason" I mean, that it is just not clear to me what I have to do to prevent the agent from calling

int cpu_bp_remove(ContextBreakpoint * bp)

when it is not intended:

I managed to set and plant breakpoints, let Eclipse go into debug-mode, display a hit breakpoint and all registers of my microcontroller so far.

The problem is as I click "resume" in Eclipse, for some reason cpu_bp_remove() in my cpudefs-mdep.c gets called. I tried to debug through it but I can't seem to find out why my agent is doing this. I compared the original unmodified agent, which does not enter this function if I just click resume for a Win32 application.

Is anybody familiar with that part I need to understand/know here? This would be my last milestones which would allow me to (very simply) debug a i8051 device in Eclipse.

Thank you for any hints or help!

Best regards

--
Stefan Falk

Infineon Technologies Austria AG
Trainee
Automotive Sense and Control
Component Verification

Tel:  +43 (0)5 / 1777 - 5439
Email: stefan.falk@xxxxxxxxxxxx<mailto:stefan.falk@xxxxxxxxxxxx>

"Aim above the mark to hit the mark." - Ralph Waldo Emerson



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


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

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


Back to the top