What happens when the program you are debugging forks? Does the debug session follow the parent or the child? The behavior is controlled by
follow-fork-mode which may be
child, with parent being the default. Unfortunately, current versions of gdbserver do not support this option, so it only works for native debugging. If you really need to debug the child process while using gdbserver, a workaround is to modify the code so that the child loops on a variable immediately after the fork, giving you the opportunity to attach a new gdbserver session to it and then to set the variable so that it drops out of the loop.
When a thread in a multithreaded process hits a breakpoint, the default behavior is for all threads ...