Use the UUID from the minidump's CodeView Record for placeholder modules
authorLeonard Mosescu <mosescu@google.com>
Wed, 2 May 2018 20:06:17 +0000 (20:06 +0000)
committerLeonard Mosescu <mosescu@google.com>
Wed, 2 May 2018 20:06:17 +0000 (20:06 +0000)
commit9fecd37220578515775f1b5e724bd5932b26b08e
tree174de8e432dc25ac2277b58ceaff5e2faf1f28b2
parentfac26cf4ca4abd9142a4ed8939c167a6856f656e
Use the UUID from the minidump's CodeView Record for placeholder modules

This change adds support for two types of Minidump CodeView records:

PDB70 (reference: https://crashpad.chromium.org/doxygen/structcrashpad_1_1CodeViewRecordPDB70.html)
This is by far the most common record type.

ELF BuildID (found in Breakpad/Crashpad generated minidumps)
This would set a proper UUID for placeholder modules, in turn enabling
an accurate match with local module images.

Differential Revision: https://reviews.llvm.org/D46292

llvm-svn: 331394
lldb/include/lldb/Core/Module.h
lldb/include/lldb/Core/ModuleSpec.h
lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
lldb/source/Commands/CommandObjectTarget.cpp
lldb/source/Core/Module.cpp
lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
lldb/source/Plugins/Process/minidump/MinidumpParser.h
lldb/source/Plugins/Process/minidump/MinidumpTypes.h
lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp