Create ELF core dump on coreclr exceptions and signals. (#10902)
authorMike McLaughlin <mikem@microsoft.com>
Thu, 13 Apr 2017 07:34:01 +0000 (00:34 -0700)
committerGitHub <noreply@github.com>
Thu, 13 Apr 2017 07:34:01 +0000 (00:34 -0700)
commit63cf53abae162743f1b217ee0ef3bbd3c505d097
tree85f9e8fa5d87ca1c5b6e74f7e27919d0e2a8185c
parent4a2298203489a9b77ebe8e5c9116de35eb62c3ca
Create ELF core dump on coreclr exceptions and signals. (#10902)

* Create ELF core dump on coreclr exceptions and signals.

When coreclr aborts because of a unhandled managed exception or hardware signal, the
"createdump" utility is launched if the "COMPlus_DbgEnableMiniDump" environment
variable is set to "1".

This utility uses the DAC enumerate memory interface to determine what memory regions
should be written for the managed state plus all the normal Linux memory regions for
the native state like threads, stacks, DSO, etc.

There still needs some to configure some of the "policies" like the name/location of
the core dump and the type of minidump (MiniDumpNormal, MiniDumpWithFullAuxiliaryState,
MiniDumpWithPrivateReadWriteMemory, etc.).

Currently only supported on Ubuntu Linux.

Make createdump smaller by using PAL in DAC module.
29 files changed:
CMakeLists.txt
src/CMakeLists.txt
src/ToolBox/SOS/Strike/util.h
src/debug/CMakeLists.txt
src/debug/createdump/.gitmirrorall [new file with mode: 0644]
src/debug/createdump/CMakeLists.txt [new file with mode: 0644]
src/debug/createdump/crashinfo.cpp [new file with mode: 0644]
src/debug/createdump/crashinfo.h [new file with mode: 0644]
src/debug/createdump/createdump.cpp [new file with mode: 0644]
src/debug/createdump/createdump.h [new file with mode: 0644]
src/debug/createdump/datatarget.cpp [new file with mode: 0644]
src/debug/createdump/datatarget.h [new file with mode: 0644]
src/debug/createdump/dumpwriter.cpp [new file with mode: 0644]
src/debug/createdump/dumpwriter.h [new file with mode: 0644]
src/debug/createdump/memoryregion.h [new file with mode: 0644]
src/debug/createdump/threadinfo.cpp [new file with mode: 0644]
src/debug/createdump/threadinfo.h [new file with mode: 0644]
src/debug/daccess/dacfn.cpp
src/debug/daccess/enummem.cpp
src/debug/daccess/request_svr.cpp
src/debug/inc/dump/dumpcommon.h
src/dlls/mscordac/mscordac_unixexports.src
src/inc/arrayholder.h [new file with mode: 0644]
src/pal/inc/pal.h
src/pal/src/config.h.in
src/pal/src/configure.cmake
src/pal/src/include/pal/process.h
src/pal/src/init/pal.cpp
src/pal/src/thread/process.cpp