Greetings,
I have a custom TCF agent mostly implemented. I have reserved a breakpoint at the hardware for use when Eclipse runs to the main() entry point. I am currently identifying this breakpoint usage as when the Location attribute is defined and the Line attribute is not.
I would also like to use this hardware breakpoint when the user select ‘Run to Line’ from the menu. Below is the attribute list as viewed in Visual Studio in the function context_plant_breakpoint().
However I want a reliable way of distinguishing these usages from a regular execution breakpoint listed in the Breakpoints view of Eclipse. Any suggestions?
The access_types member is always 0x14 for all of the BP usages I’ve seen.
For the “Run to Line” I see the ID attribute value has the prefix “Step“ however in my own design style I try not to use string matching to determine code behavior. I prefer enums so I can catch typos at compile time. In a regular BP the ID is the absolute path to the source file in the form of “file:/path/filename:linenum” so it looks like I can reliably test for ID == “Step.something”. I don’t see a #define for “Step”.
- ba 0x00683668 {next=0x006834e0 name=0x00683550 "Line" value=0x0067fe48 "73" } BreakpointAttribute *
- next 0x006834e0 {next=0x00683b00 name=0x006836d8 "Enabled" value=0x00683b38 "true" } BreakpointAttribute *
- next 0x00683b00 {next=0x00683a90 name=0x0067fe78 "ID" value=0x00683a58 ""Step.P1.2"" } BreakpointAttribute *
- next 0x00683a90 {next=0x00000000 name=0x006839e8 "File" value=0x00683a20 ""main.cpp"" } BreakpointAttribute *
+ next 0x00000000 {next=??? name=??? value=??? } BreakpointAttribute *
+ name 0x006839e8 "File" char *
+ value 0x00683a20 ""main.cpp"" char *
+ name 0x0067fe78 "ID" char *
+ value 0x00683a58 ""Step.P1.2"" char *
+ name 0x006836d8 "Enabled" char *
+ value 0x00683b38 "true" char *
+ name 0x00683550 "Line" char *
+ value 0x0067fe48 "73" char *
Thanks,
J.R. Heisey