56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
//===-- TargetThreadWindowsLive.h -------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_
|
|
#define liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_
|
|
|
|
#include "lldb/lldb-forward.h"
|
|
#include "lldb/Host/HostThread.h"
|
|
#include "lldb/Target/Thread.h"
|
|
|
|
#include "Plugins/Process/Windows/Common/TargetThreadWindows.h"
|
|
|
|
namespace lldb_private
|
|
{
|
|
class ProcessWindows;
|
|
class HostThread;
|
|
class StackFrame;
|
|
|
|
class TargetThreadWindowsLive : public lldb_private::TargetThreadWindows
|
|
{
|
|
public:
|
|
TargetThreadWindowsLive(ProcessWindows &process, const HostThread &thread);
|
|
virtual ~TargetThreadWindowsLive();
|
|
|
|
// lldb_private::Thread overrides
|
|
void RefreshStateAfterStop() override;
|
|
void WillResume(lldb::StateType resume_state) override;
|
|
void DidStop() override;
|
|
lldb::RegisterContextSP GetRegisterContext() override;
|
|
lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override;
|
|
bool CalculateStopInfo() override;
|
|
Unwind *GetUnwinder() override;
|
|
|
|
bool DoResume();
|
|
|
|
HostThread
|
|
GetHostThread() const
|
|
{
|
|
return m_host_thread;
|
|
}
|
|
|
|
private:
|
|
lldb::RegisterContextSP CreateRegisterContextForFrameIndex(uint32_t idx);
|
|
|
|
HostThread m_host_thread;
|
|
};
|
|
}
|
|
|
|
#endif
|