[Lldb-commits] [PATCH] D59433: Fix UUID decoding from minidump files.

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 15 14:28:02 PDT 2019


clayborg created this revision.
clayborg added reviewers: zturner, labath.
Herald added a subscriber: javed.absar.
Herald added a reviewer: serge-sans-paille.

This patch fixes:

- UUIDs now don't include the age field from a PDB70 when the age is zero. Prior to this they would incorrectly contain the zero age which stopped us from being able to match up the UUID with real files.
- UUIDs for Apple targets get the first 32 bit value and next two 16 bit values swapped. Breakpad incorrectly swaps these values when it creates darwin minidump files, so this must be undone so we can match up symbol files with the minidump modules.
- UUIDs that are all zeroes are treated as invalid UUIDs. Breakpad will always save out a UUID, even if one wasn't available. This caused all files that have UUID values of zero to be uniqued to the first module that had a zero UUID. We now don't fill in the UUID if it is all zeroes.

Added tests for PDB70 and ELF build ID based CvRecords.


https://reviews.llvm.org/D59433

Files:
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-16.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-20.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-no-age.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-with-age.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-zero-uuids.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/macos-arm-uuids-no-age.dmp
  source/Plugins/Process/minidump/MinidumpParser.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59433.190901.patch
Type: text/x-patch
Size: 8498 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190315/2a7c4924/attachment.bin>


More information about the lldb-commits mailing list