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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user