Single-file debugging support in DBI and createdump (#67163)
authorMike McLaughlin <mikem@microsoft.com>
Fri, 15 Apr 2022 17:54:04 +0000 (10:54 -0700)
committerGitHub <noreply@github.com>
Fri, 15 Apr 2022 17:54:04 +0000 (10:54 -0700)
commit17c2cb22a5650d4e7b04f29558ec433b61b45f62
tree8bc8b1e6ee660f62d0676e4140026d390e20e372
parentcd3328df63f2b324af2b0ae4ae2bac12fc0c891b
Single-file debugging support in DBI and createdump (#67163)

* Add single-file debugging to DBI

Add new CoreCLRCreateCordbObjectEx2 API that takes the DAC module path instead of
assuming the DAC module is in the same directory as DBI.

* Add createdump single-file support

Use module name from /proc/<pid>/maps when the DSO module name is empty.

Make sure the DotNetRuntimeInfo block is in the core dump.

* Fix bug with spaces in module names in createdump on Linux

* Code review feedback - only check for singlefile if --singlefile is passed
18 files changed:
src/coreclr/debug/createdump/crashinfo.cpp
src/coreclr/debug/createdump/crashinfo.h
src/coreclr/debug/createdump/crashinfomac.cpp
src/coreclr/debug/createdump/crashinfounix.cpp
src/coreclr/debug/createdump/createdump.h
src/coreclr/debug/createdump/datatarget.cpp
src/coreclr/debug/createdump/datatarget.h
src/coreclr/debug/createdump/main.cpp
src/coreclr/debug/dbgutil/elfreader.cpp
src/coreclr/debug/di/cordb.cpp
src/coreclr/debug/di/process.cpp
src/coreclr/debug/di/rsmain.cpp
src/coreclr/debug/di/rspriv.h
src/coreclr/debug/di/shimpriv.h
src/coreclr/debug/di/shimprocess.cpp
src/coreclr/dlls/mscordbi/mscordbi.src
src/coreclr/dlls/mscordbi/mscordbi_unixexports.src
src/coreclr/pal/src/thread/process.cpp