llvm-capstone/lldb
Greg Clayton 838bba9c34 Allow partial UUID matching in Minidump core file plug-in
Breakpad had bugs in earlier versions where it would take a 20 byte ELF build ID and put it into the minidump file as a 16 byte PDB70 UUID with an age of zero. This would make it impossible to do postmortem debugging with one of these older minidump files.

This fix allows partial matching of UUIDs. To do this we first try and match with the full UUID value, and then fall back to removing the original directory path from the module specification and we remove the UUID requirement, and then manually do the matching ourselves. This allows scripts to find symbols files using a symbol server, place them all in a directory, use the "setting set target.exec-search-paths" setting to specify the directory, and then load the core file. The Target::GetSharedModule() can then find the correct file without doing any other matching and load it.

Tests were added to cover a partial UUID match where the breakpad file has a 16 byte UUID and the actual file on disk has a 20 byte UUID, both where the first 16 bytes match, and don't match.

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

llvm-svn: 357482
2019-04-02 15:40:54 +00:00
..
cmake [Cmake] Unify python variables 2019-03-29 17:35:42 +00:00
docs Don't abort() in lldb_assert and document why. 2019-03-29 16:12:27 +00:00
examples python 2/3 compat: commands vs subprocess 2019-03-26 14:46:15 +00:00
include/lldb Make operator==s consistent between c++ and python APIs 2019-04-02 10:18:46 +00:00
lit [CMake] Add missing test dep 2019-03-30 00:00:19 +00:00
lldb.xcodeproj [Platform] Remove Kalimba Platform 2019-03-27 16:23:50 +00:00
lldb.xcworkspace Remove accidentally commited file in xcshareddata 2019-02-05 23:35:01 +00:00
packages/Python/lldbsuite Allow partial UUID matching in Minidump core file plug-in 2019-04-02 15:40:54 +00:00
resources
scripts Make operator==s consistent between c++ and python APIs 2019-04-02 10:18:46 +00:00
source Allow partial UUID matching in Minidump core file plug-in 2019-04-02 15:40:54 +00:00
test [CMake] Make lldb-test-deps a dependency of check-lldb 2019-02-13 20:51:13 +00:00
third_party/Python/module [lldb/thirdparty] Remove unneeded files, asked by Jonas. 2019-03-12 20:41:36 +00:00
tools [Platform] Remove Kalimba Platform 2019-03-27 16:23:50 +00:00
unittests [CMake] Only the Python scirpt interpreter should link against Python. 2019-04-01 22:03:04 +00:00
utils Python 2/3 compat: StringIO 2019-03-25 15:23:34 +00:00
www Don't abort() in lldb_assert and document why. 2019-03-29 16:12:27 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Add lldb-vscode as a dependency of lldb tests. 2019-03-26 18:36:44 +00:00
CODE_OWNERS.txt
INSTALL.txt
LICENSE.TXT
use_lldb_suite_root.py