This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: libGDB and gdbserver questions
Donny Kurniawan wrote:
> Hello,
>
> I am trying to write a remote debugger for multiple processes. As far
> as I know, most of the parallel debuggers (that use GDB as the
> backend), use multiple instances of GDB, where each instance controls
> one process.
>
> The problem is: I want to be able to handle a lot of processes (1000
> processes is the minimum), clearly having 1000 instances of GDB
> controlling 1000 processes is not very scalable, and it will choke the
> "master UI controller" (that controls GDBs).
I'm not sure what you mean about "master UI controller". The biggest
scalability problem is that each gdb will load symbol table for your
program, and for real program that might take 100M of memory. Multiply that
by 1000 and you need 64-bit box.
However, it's not likely that you have 1000 different programs. If you have
two programs, and each one is run on 500 machines, you can start two copies
of gdb.
Then each copy of gdb would connect to a "redirector" you can write, that
will basically forward all packets to invididual instances of gdbserver.
But it will present those 500 instances as 500 threads, and gdb can work
with threads more or less fine.
As least, that what I plan to do for multi-program debugging.
- Volodya