I am working with a STM32F764 Discovery board where I reflashed the onboard ST-Link with the Segger J-Link firmware. However it seems that old breakpoints don’t get cleared correctly so I run out of hardware breakpoints quickly. A restart of Visual Studio does not help. I attached a Screenshot where you can see the error from Segger and the breakpoint window which only shows one active breakpoint. I am using VisualGDB V5.5 Build 3850.
Please try creating a gdb log and searching for the -break-insert commands (or any other command containing the “break” word). It will show the exact breakpoints set by VisualGDB.
If you can find a specific breakpoint that you believe should not be there, please let us know and we will help you understand what brings it in.
I created the log and I searched for -break-insert however I only found two breakpoints. One at main and the one I set and am seeing in the breakpoint window. Yet I see the posted error and I am not able to debug. I attached the logfile.
Looks like you are setting a breakpoint in an inlined function that has multiple physical locations (one per each inlined instance). Setting a breakpoint there involves one physical breakpoint per each inlined instance, and based on the log, there are more than 10 of them (see line with the [ 3544 ms] tag). Running out of hardware breakpoints is completely expected in this scenario.