Hi,
The multiple nested breakpoints occur when one line of source code corresponds to multiple addresses (and hence needs multiple physical breakpoints). The usually happens with inlined functions or templates (e.g. list<int>::sort() vs list<string>::sort()).
It is hard to say why would this make VS hang. One guess would be that gdb needs to update too many physical breakpoints each time you stop the session and this takes time. You can try running the “set breakpoint always-inserted on
” command to prevent gdb from updating breakpoints each time the session stops.
If this doesn’t help, we would recommend narrowing it down to a specific breakpoint (e.g. measuring break-in delay with and without it) and checking if this can also be reproduced without VisualGDB. If not, some gdb options or initialization commands could be affecting it. If yes, it’s likely a limitation of gdb and not much could be done to work around it other than generally speeding up connection to your target.