title: Any way to set a breakpoint in GDB without stopping the target?
body: <p>I'm using GDB (through an IDE) to debug an arm cortex microcontroller, and I've encountered an issue where the micro is halted briefly (for 10-20ms) whenever a breakpoint is set or cleared (not <em>hit</em>, but <em>set</em>, as in the code has not yet reached the breakpoint).  This long of a pause can cause significant problems when driving an electric motor, for example.</p>
  <p>The IDE has a debug console which shows that the GDB client is sending a SIGINT to the GDB server whenever I add or remove a breakpoint.  I know that in the command-line client you have to use ctrl+c to interrupt the process to issue any command, but for modern microcontrollers (ARM cortex-m, etc.) it is not necessary to interrupt the processor to insert breakpoints, read memory, and in some cases to trace program execution.  I am wondering if this is something that is being imposed by the GDB interface artificially.</p>
  <p>Is there any way to create a new breakpoint without halting the target?</p>
  <p>I have tried using &quot;async&quot; mode in GDB, but it informs me that I must halt the program to insert breakpoints.  I have also verified that breakpoints can be set with the underlying debug server (OpenOCD) without halting, so in this case GDB is incorrect.</p>
  <p>Any input is appreciated, and thanks in advance.</p>