There are two types of breakpoints, one is hardware breakpoint. the other is software breakpoint.
Hardware Breakpoint
Hardware breakpoints are implemented by the chipset being used. When the instruction matchs an instruction configured in peripheral register.the hardware will trigger a debug event, halting the core or generating an exception. So the amount of hardware breakpoints is limited by the given chip,you may run out of breakpoints.
Softwate Breakpoint
Software breakpoints are implements by your debugger.the debugger will patch som code to fit the existing hardware breakpoints. So the amount of software breakpoints is “unlimited”.