Can you give detailed explanation how to fix the problem?
Explanation...
Sorry, my English is not very well. But I'll try to explain correctly.
Initial conditions:
IDE C::B 10.5
Toolchain: CodeSourcery G++ Lite (arm-2011.03-41 arm-none-linux-gnueabi)
Host: i686-pc
Target (uname -a output): Linux am180x-evm 3.2.0-rc3+ #122 PREEMPT Fri Mar 16 10:54:28 MSK 2012 armv5tejl unknown
Debugging - i.e. remote debugging through TCP, gdbserver is running on target, gdb.exe is running on host.
CodeSourcery gdb.exe stdio passing through the gdb-cb-brige.
Such features as setting breakpoints, disassembling, variable inspecting and other work perfectly until gdbserver inferior (debugging process) is STOPPED. (At break point, after SIGINT, or until "continue" command have not sended since debugging had started)
After "continue" command, (i.e. inferior is RUNNING) there are only two cases, when inferior will stop:
1. Inferior obtains breakpoint setted before "continue" command;
2. Inferior gets a SIGINT signal( to do that just press CTRL+c if inferior is a console app).
When inferior is running, button "Stop debuger" or setting breakpoints and other options do not take effect.
Certainly, because of there are no gdb prompt.
The same behavior takes all combination of IDE+gdb+gdbserver (or GUI-frontend+gdb+gdbserver) i have seen, except gdbs which have been working through JTAG hardware ISE's.
Probably is it a feature of remote debugging? Or maybe I don't understand something?
Of course, it's fine to have ability to stop debugging procces anywhere/anytime, but, in my opinion, that's not really needs in practice.
So, my sketch (gdb-cg-bridge) fixs incompatibility besides C::B and CodeSourcery gdb in my case.