summaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2019-05-08 00:46:51 -0700
committerGitHub <noreply@github.com>2019-05-08 00:46:51 -0700
commit794f2f89399026246562181bc999a5027fb6583d (patch)
treed87fc6ee11a0b925a678dc5500a42cbc707ea58f /src/debug
parent653e25ec4780cfb7132dcb55bda20dbcc9c2a027 (diff)
downloadcoreclr-794f2f89399026246562181bc999a5027fb6583d.tar.gz
coreclr-794f2f89399026246562181bc999a5027fb6583d.tar.bz2
coreclr-794f2f89399026246562181bc999a5027fb6583d.zip
Add generate crash dump command to diagnostics server (#24460)
Add the DiagnosticProtocolHelper class to deserialize and dispatch the new GenerateCoreDump command. Refactor the PAL createdump launch on unhandled exception code to used by a new PAL_GenerateCoreDump method that doesn't depend on the complus dump environment variables. Changed the "full" createdump not to include the uncommitted pages and removed the "add module metadata" workaround for SOS clrstack !UNKNOWN problem now that is fixed in SOS (crashinfo.cpp).
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/createdump/crashinfo.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/debug/createdump/crashinfo.cpp b/src/debug/createdump/crashinfo.cpp
index 5539a1f9e5..d7a5b20961 100644
--- a/src/debug/createdump/crashinfo.cpp
+++ b/src/debug/createdump/crashinfo.cpp
@@ -191,16 +191,16 @@ CrashInfo::GatherCrashInfo(MINIDUMP_TYPE minidumpType)
}
for (const MemoryRegion& region : m_otherMappings)
{
- InsertMemoryBackedRegion(region);
+ // Don't add uncommitted pages to the full dump
+ if ((region.Permissions() & (PF_R | PF_W | PF_X)) != 0)
+ {
+ InsertMemoryBackedRegion(region);
+ }
}
}
// Add all the heap (read/write) memory regions (m_otherMappings contains the heaps)
else if (minidumpType & MiniDumpWithPrivateReadWriteMemory)
{
- for (const MemoryRegion& region : m_moduleMappings)
- {
- InsertMemoryBackedRegion(region);
- }
for (const MemoryRegion& region : m_otherMappings)
{
if (region.Permissions() == (PF_R | PF_W))