summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SystemInitializerFull.cpp
diff options
context:
space:
mode:
authorDimitar Vlahovski <dvlahovski@google.com>2016-10-31 15:35:18 +0000
committerDimitar Vlahovski <dvlahovski@google.com>2016-10-31 15:35:18 +0000
commit7b18dd4f7743e4dc9dc02040a2e706e96eb29f6e (patch)
treef69da2ec227d92df7e7a8810863d70a9c15bb60c /lldb/source/API/SystemInitializerFull.cpp
parentf01f65ea593bf1bbdcbeb425e1053ac3bbd9644d (diff)
downloadbcm5719-llvm-7b18dd4f7743e4dc9dc02040a2e706e96eb29f6e.tar.gz
bcm5719-llvm-7b18dd4f7743e4dc9dc02040a2e706e96eb29f6e.zip
Minidump plugin: Adding ProcessMinidump, ThreadMinidump and register the plugin in SystemInitializerFull
Summary: 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. Reviewers: labath, zturner Subscribers: beanz, mgorny, modocache, lldb-commits, amccarth Differential Revision: https://reviews.llvm.org/D25905 llvm-svn: 285587
Diffstat (limited to 'lldb/source/API/SystemInitializerFull.cpp')
-rw-r--r--lldb/source/API/SystemInitializerFull.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/API/SystemInitializerFull.cpp b/lldb/source/API/SystemInitializerFull.cpp
index a297a7c111c..c0185bc3814 100644
--- a/lldb/source/API/SystemInitializerFull.cpp
+++ b/lldb/source/API/SystemInitializerFull.cpp
@@ -78,6 +78,7 @@
#include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h"
#include "Plugins/Process/elf-core/ProcessElfCore.h"
#include "Plugins/Process/gdb-remote/ProcessGDBRemote.h"
+#include "Plugins/Process/minidump/ProcessMinidump.h"
#include "Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h"
#include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"
#include "Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h"
@@ -304,6 +305,7 @@ void SystemInitializerFull::Initialize() {
JITLoaderGDB::Initialize();
ProcessElfCore::Initialize();
+ minidump::ProcessMinidump::Initialize();
#if defined(_MSC_VER)
ProcessWinMiniDump::Initialize();
#endif
@@ -429,6 +431,7 @@ void SystemInitializerFull::Terminate() {
JITLoaderGDB::Terminate();
ProcessElfCore::Terminate();
+ minidump::ProcessMinidump::Terminate();
#if defined(_MSC_VER)
ProcessWinMiniDump::Terminate();
#endif
OpenPOWER on IntegriCloud