[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tcf-dev] Problem planting breakpoints
|
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!