Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] Problem planting breakpoints

Hi Stefan,

That's it. You don't need to call iterate_breakpoints(), you should not map breakpoints to their actual memory addresses

Well, the problem is that the Agent is not able to do this for me. The compiler I am using is SDCC and I am working with a parser to extract all debug information from the CDB (debug information file) files.

Did you look at the linenumbers implementation to add a new instance for the CDB format? That way the TCF Agent would handle the file:line to address translation.

In this case it seems like that I have to ask: What needs to be done so that the Agent tries to plant the breakpoints BEFORE I run the program on my dude (device under debug)?

The TCF Agent tries to replant breakpoints every time a change is made to the context. More precisely it tries to replant the breakpoints when:
- a context is created.
- a context is changed.
- a context exits.
- the path mapping changed.
- the memory maps changed.

If you add the breakpoint before

- Christophe


Please Note that my agent does not communicate with the device directly instead talks to another server that is already capable of doing so.



Thank you and best regards,
Stefan Falk


-----Original Message-----
From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Stefan.Falk@xxxxxxxxxxxx
Sent: Friday, May 16, 2014 8:47 AM
To: tcf-dev@xxxxxxxxxxx
Subject: [tcf-dev] Problem planting breakpoints

Hi and sorry for my third E-Mail today but I seem to have a major issue with the way how breakpoints are set and removed.

Like I said a few times already, all I got is a function CLIDevice_RunUntil(int[] breakpoint_address) to set breakpoints and run my device under debug.

Therefore I call iterate_breakpoints() to collect all file locations and map them to their actual memory addresses.

My problem is still that after the program reaches a  breakpoint, the TCF Agent begins to "plant" breakpoints. The problem isn't that by doing so cpu_bp_plant() gets called and therefore CLIDevice_PlantBreakpoint() gets called, the problem is that immediately after that cpu_bp_remove() is getting called.

I have no idea why this is happening. All I can tell so far is that InstructionRef ref->cnt in validate_bi_refs is zero for some reason the "dirty" flag of BreakInstruction is TRUE gets set there. Therefore it gets deleted later on.

I'm really really stuck here. I've tried the whole day to find out what is wrong but I really don't understand the underlying reason why the agent wants to remove my breakpoints ..

Thanks for your help.

--
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
_______________________________________________
tcf-dev mailing list
tcf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tcf-dev



Back to the top