[Lldb-commits] [PATCH] D25905: Minidump plugin: Adding ProcessMinidump, ThreadMinidump and register the plugin in SystemInitializerFull

Dimitar Vlahovski via lldb-commits lldb-commits at lists.llvm.org
Mon Oct 24 05:57:44 PDT 2016


dvlahovski created this revision.
dvlahovski added reviewers: labath, zturner.
dvlahovski added subscribers: amccarth, lldb-commits.
Herald added subscribers: modocache, mgorny, beanz.

This plugin resembles the already existing Windows-only Minidump plugin.
The WinMinidumpPlugin uses the Windows API for parsing Minidumps
while this plugin is cross-platform because it includes a Minidump
parser (which is already commited)

It is able to produce a backtrace, to read the general puprose regiters,
inspect local variables, show image list, do memory reads, etc.

For now the only arches that this supports are x86_32 and x86_64.
This is because I have only written register contexts for those.
Others will come in next CLs.

I copied the WinMinidump tests and adapted them a little bit for them to
work with the new plugin (and they pass)
I will add more tests, aiming for better code coverage.

There is still functionality to be added, see TODOs in code.


https://reviews.llvm.org/D25905

Files:
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/install_breakpad.cpp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64.cpp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64_not_crashed
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64_not_crashed.cpp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64_not_crashed.dmp
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/makefile.txt
  source/API/SystemInitializerFull.cpp
  source/Plugins/Process/minidump/CMakeLists.txt
  source/Plugins/Process/minidump/MinidumpParser.cpp
  source/Plugins/Process/minidump/MinidumpParser.h
  source/Plugins/Process/minidump/MinidumpTypes.h
  source/Plugins/Process/minidump/NtStructures.h
  source/Plugins/Process/minidump/ProcessMinidump.cpp
  source/Plugins/Process/minidump/ProcessMinidump.h
  source/Plugins/Process/minidump/ThreadMinidump.cpp
  source/Plugins/Process/minidump/ThreadMinidump.h
  unittests/Process/minidump/MinidumpParserTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25905.75571.patch
Type: text/x-patch
Size: 37414 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20161024/54d09bd8/attachment-0001.bin>


More information about the lldb-commits mailing list