reconstructing process memory map from core

Daniel Jacobowitz
Tue Feb 9 22:08:00 GMT 2010

On Tue, Feb 09, 2010 at 11:00:34PM +0100, ineya ineya wrote:
> But it doesn't work, gdb is trying to read something from heap, and if
> this fails, no symbols are loaded. So I was wondering why gdb needs to
> access heap? Or more generally how are symbols loaded / how is the
> process memory map reconstructed from core file?

The dynamic linker maintains a linked list of loaded shared
libraries, in the heap.

> I thought all that is needed is to have:
> - list of external function - in .dynsym I guess
> - .got from runtime

Neither of these are useful for determining shared library load
addresses.  .dynsym is not useful at all; it is read-only so we can
recover it from the executable.

Daniel Jacobowitz

More information about the Gdb mailing list