Hello, I would like to set a breakpoint at the 1st line of my function only if the calling function belongs to a specific file, like this:
file ModuleA.c FunctionA FunctionB FunctionC
file ModuleB.c FunctionD
file ModuleC.c TheFunction
I want to halt in TheFunction only if the caller is either FunctionA, FunctionB or FunctionC.
Using a parser I found a way to create breakpoints at all TheFunction calls inside ModuleA, unfortunately there are too many occurrences so the number of available breakpoints is not sufficient.
So my idea would have been to set a conditional breakpoint in TheFunction, reading LR and checking if its value is in ModuleA.c
So I just did some map file parsing, in order to get the address range of ModuleA.c. Everything went well until I tested and discovered that conditional breakpoints are not available!?!? See:
BS TheFunction && (LR > 0x080053dc && LR < (0x080053dc + 0x00003644)) *** error 129: target does not support conditional breakpoints
What can I do then??? I saw there is a possibility to execute a function in the "bs" command, but it doesn't halt the processor, which I need. And I haven't found a way to execute a "stop" command from the command line, only the button is available. (why so??? go is available, why no stop?)
Is there any way to solve my issue?
Regards