Add ELF program and section headers to core dump. (dotnet/coreclr#12425)
authorMike McLaughlin <mikem@microsoft.com>
Fri, 23 Jun 2017 22:02:36 +0000 (15:02 -0700)
committerGitHub <noreply@github.com>
Fri, 23 Jun 2017 22:02:36 +0000 (15:02 -0700)
commit1f71e85b19c7aef3aa66297ce7f542043ee5c7f4
tree2f2da9f5c0ca494ad4a8fe25576a184802755ffa
parent18ede2d3db7d7076763711ba5c614ff979a8baef
Add ELF program and section headers to core dump. (dotnet/coreclr#12425)

Add ELF program and section headers to core dump.

Issue dotnet/coreclr#12341

This allows the build id for the modules be extracted properly.

Add .eh_frame, .eh_frame_hdr and some other important sections to core dump.

Add managed module names to core dump so the symbol acquisition
tool can get symbol store keys for them.

Add the non memory/file backed memory regions to core dump so debuggers
like lldb can check if an address is "code" or not. Unwinding doesn't
work when there isn't a module/.so file present.

Commit migrated from https://github.com/dotnet/coreclr/commit/619334db7e5595888e6409570750ccffe4c4c126
src/coreclr/src/debug/createdump/crashinfo.cpp
src/coreclr/src/debug/createdump/crashinfo.h
src/coreclr/src/debug/createdump/createdump.h
src/coreclr/src/debug/createdump/dumpwriter.cpp
src/coreclr/src/debug/createdump/dumpwriter.h
src/coreclr/src/debug/createdump/memoryregion.h
src/coreclr/src/debug/createdump/threadinfo.cpp
src/coreclr/src/pal/src/thread/process.cpp