summaryrefslogtreecommitdiff
path: root/source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp')
-rw-r--r--source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp104
1 files changed, 0 insertions, 104 deletions
diff --git a/source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp b/source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp
deleted file mode 100644
index ddcd15b1ae12..000000000000
--- a/source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-//===-- ThreadWinMiniDump.cpp -----------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "ThreadWinMiniDump.h"
-
-#include "lldb/Host/HostInfo.h"
-#include "lldb/Host/windows/windows.h"
-#include <DbgHelp.h>
-
-#include "ProcessWinMiniDump.h"
-#if defined(_WIN64)
-#include "x64/RegisterContextWindowsMiniDump_x64.h"
-#else
-#include "x86/RegisterContextWindowsMiniDump_x86.h"
-#endif
-
-using namespace lldb;
-using namespace lldb_private;
-
-// This is a minimal implementation in order to get something running. It will
-// be fleshed out as more mini-dump functionality is added.
-
-class ThreadWinMiniDump::Data {
- public:
- Data() : m_context(nullptr) {}
- const CONTEXT *m_context;
-};
-
-ThreadWinMiniDump::ThreadWinMiniDump(lldb_private::Process &process, lldb::tid_t tid) :
- Thread(process, tid),
- m_data(new Data)
-{
-}
-
-ThreadWinMiniDump::~ThreadWinMiniDump()
-{
-}
-
-void
-ThreadWinMiniDump::RefreshStateAfterStop()
-{
-}
-
-lldb::RegisterContextSP
-ThreadWinMiniDump::GetRegisterContext()
-{
- if (m_reg_context_sp.get() == NULL) {
- m_reg_context_sp = CreateRegisterContextForFrame (NULL);
- }
- return m_reg_context_sp;
-}
-
-lldb::RegisterContextSP
-ThreadWinMiniDump::CreateRegisterContextForFrame(lldb_private::StackFrame *frame)
-{
- const uint32_t concrete_frame_idx = (frame) ? frame->GetConcreteFrameIndex() : 0;
- RegisterContextSP reg_ctx_sp;
- ArchSpec arch = HostInfo::GetArchitecture();
- switch (arch.GetMachine())
- {
- case llvm::Triple::x86:
-#if defined(_WIN64)
- // FIXME: This is a Wow64 process, create a RegisterContextWindows_Wow64
-#else
- reg_ctx_sp.reset(new RegisterContextWindowsMiniDump_x86(*this, concrete_frame_idx, m_data->m_context));
-#endif
- break;
- case llvm::Triple::x86_64:
-#if defined(_WIN64)
- reg_ctx_sp.reset(new RegisterContextWindowsMiniDump_x64(*this, concrete_frame_idx, m_data->m_context));
-#else
- // LLDB is 32-bit, but the target process is 64-bit. We probably can't debug this.
-#endif
- default:
- break;
- }
- return reg_ctx_sp;
-}
-
-void
-ThreadWinMiniDump::ClearStackFrames()
-{
-}
-
-void
-ThreadWinMiniDump::SetContext(const void *context)
-{
- if (m_data)
- {
- m_data->m_context = static_cast<const CONTEXT *>(context);
- }
-}
-
-bool
-ThreadWinMiniDump::CalculateStopInfo()
-{
- return false;
-}