Re: Multiple inferiors and memory consumption

Vladimir Prus
2012-07-10T04:55:51Z

On 10.07.2012 06:29, Tom Tromey wrote:
>>>>>> "Volodya" == Vladimir Prus <vladimir@codesourcery.com> writes:
>
> Volodya> That is, it does not seem like GDB notices that symbol tables
> Volodya> of all 4 loaded executables are identical
>
> Volodya> Is this something that is going to be improved upon in future?
>
> I've been working on it off and on.
>
> You can see my latest attempt, search for
>
> [0/17] RFC: share minimal symbols across objfiles
>
> in the Dec 2011 archives.
>
> There are some follow-up thoughts scattered through the subsequent
> months. The problem is reasonably hard -- those 17 patches only address
> minsym sharing, but there is at least partial- and full-symbol sharing
> to deal with as well; plus some other things making it harder (dlmopen
> support, should we want it, makes a mess of it all).

I see -- I did not even know about dlmopen until now ;-)

>
> Volodya> And now for my real question -- is there any case when using
> Volodya> multi-process to debug several applications
> Volodya> not related via parent-child relationship is better than running N
> Volodya> copies of GDB?
>
> Nothing today.
>
> In the future they'll share debuginfo when possible, but that may be the
> only advantage.
>
> I've occasionally wondered whether we could have gdb fork when in MI
> mode and it follows both parent and child.

Interesting approach ;-)

Though I'm thinking that single GDB might allow easier
implementation of possible cool things like "step through DBus call". Or anything where
direct access to two, or several, processes, is needed. Of course, we can do this via
IDE, but with remote debugging that might end up awkward/slow.

- Volodya

--
Vladimir Prus
CodeSourcery / Mentor Graphics