[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tcf-dev] Problem planting breakpoints
|
Hi!
Well, bi->virtual_address is '1' and bi->hardware is '0'
This is what happens:
1) Breakpoints get planted before device starts the program
2) Device runs and hits a breakpoint
3) Eclipse does stuff..
4) Agent unplants all breakpoints
5) Agent replants all breakpoints (but as virtual address breakpoints)
6) Agent unplants all breakpoints since they "aren't used".
I still have no idea how to treat this right :(
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
"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 Christophe Augier
Sent: Tuesday, May 27, 2014 3:35 PM
To: tcf-dev@xxxxxxxxxxx
Subject: Re: [tcf-dev] Problem planting breakpoints
Hi Peter,
what is the value of bi->virtual_addr?
For the "Auto" type I don't know how it is handled as I don't see any
reference to it in breakpoints.c. Eugene can probably explain that case.
- Christophe
On 05/26/2014 11:29 AM, Stefan.Falk@xxxxxxxxxxxx wrote:
> Hi Christophe and sorry for my late answer, I wasn't on this machine since last Monday due to an exam I had to learn for.
>
> I am still trying to understand what needs to be done in order to use the breakpoints correctly.
>
> As my device is programmed I perform a send_context_stopped_event() which seems to cause the agent to plant the breakpoints (which works so far) and then performs a resume which lets the device run the program.
>
> But I am still having the problem that after a breakpoint gets hit flush_instrutions() does unplant all breakpoints and but as it wants to "replant" it does not work because none of my breakpoints are set as hardware breakpoints.
>
> I think it is this part in flush_instructions()
>
> /* Plant hardware breakpoints first */
> l = lst.next;
> while (l != &lst) {
> BreakInstruction * bi = link_lst2bi(l);
> l = l->next;
> if (bi->hardware) {
> if (!bi->planted) plant_instruction(bi);
> list_remove(&bi->link_lst);
> }
> }
>
> That is supposed to do so but doesn't. bi->hardware is always 0.
> Where do I have to tell the agent/How do I tell the agent to treat all those breakpoints as hardware?
>
> There is another part before the replanting part which "validates references" (as the comment says). Here bi->hardware is set to 0 and never set to 1 again because the breakpoint "type" contains "Auto" and not "Hardware" which would set bi->hardware back to 1.
>
> I know I could just make a nasty workaround but I really want to use that agent as it is supposed to.
>
> Thank you for any help!
> _______________________________________________
> 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