LLDB mainline
Public Member Functions | Protected Types | Protected Attributes | List of all members
lldb_private::NativeThreadWindows Class Reference

#include <NativeThreadWindows.h>

Inheritance diagram for lldb_private::NativeThreadWindows:
Inheritance graph
[legend]

Public Member Functions

 NativeThreadWindows (NativeProcessWindows &process, const HostThread &thread)
 
 ~NativeThreadWindows ()
 
Status DoStop ()
 
Status DoResume (lldb::StateType resume_state)
 
std::string GetName () override
 
lldb::StateType GetState () override
 
NativeRegisterContextWindowsGetRegisterContext () override
 
bool GetStopReason (ThreadStopInfo &stop_info, std::string &description) override
 
Status SetWatchpoint (lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware) override
 
Status RemoveWatchpoint (lldb::addr_t addr) override
 
Status SetHardwareBreakpoint (lldb::addr_t addr, size_t size) override
 
Status RemoveHardwareBreakpoint (lldb::addr_t addr) override
 
void SetStopReason (ThreadStopInfo stop_info, std::string description)
 
const HostThreadGetHostThread ()
 
- Public Member Functions inherited from lldb_private::NativeThreadProtocol
 NativeThreadProtocol (NativeProcessProtocol &process, lldb::tid_t tid)
 
virtual ~NativeThreadProtocol ()=default
 
virtual std::string GetName ()=0
 
virtual lldb::StateType GetState ()=0
 
virtual NativeRegisterContextGetRegisterContext ()=0
 
virtual bool GetStopReason (ThreadStopInfo &stop_info, std::string &description)=0
 
lldb::tid_t GetID () const
 
NativeProcessProtocolGetProcess ()
 
virtual Status SetWatchpoint (lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware)=0
 
virtual Status RemoveWatchpoint (lldb::addr_t addr)=0
 
virtual Status SetHardwareBreakpoint (lldb::addr_t addr, size_t size)=0
 
virtual Status RemoveHardwareBreakpoint (lldb::addr_t addr)=0
 
virtual llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > GetSiginfo () const
 

Protected Types

using IndexMap = std::map< lldb::addr_t, uint32_t >
 

Protected Attributes

lldb::StateType m_state = lldb::StateType::eStateInvalid
 
std::string m_name
 
ThreadStopInfo m_stop_info
 
std::string m_stop_description
 
std::unique_ptr< NativeRegisterContextWindowsm_reg_context_up
 
IndexMap m_watchpoint_index_map
 
IndexMap m_hw_breakpoint_index_map
 
HostThread m_host_thread
 
- Protected Attributes inherited from lldb_private::NativeThreadProtocol
NativeProcessProtocolm_process
 
lldb::tid_t m_tid
 

Detailed Description

Definition at line 22 of file NativeThreadWindows.h.

Member Typedef Documentation

◆ IndexMap

using lldb_private::NativeThreadWindows::IndexMap = std::map<lldb::addr_t, uint32_t>
protected

Definition at line 63 of file NativeThreadWindows.h.

Constructor & Destructor Documentation

◆ NativeThreadWindows()

NativeThreadWindows::NativeThreadWindows ( NativeProcessWindows process,
const HostThread thread 
)

◆ ~NativeThreadWindows()

lldb_private::NativeThreadWindows::~NativeThreadWindows ( )
inline

Definition at line 26 of file NativeThreadWindows.h.

Member Function Documentation

◆ DoResume()

Status NativeThreadWindows::DoResume ( lldb::StateType  resume_state)

◆ DoStop()

Status NativeThreadWindows::DoStop ( )

◆ GetHostThread()

const HostThread & lldb_private::NativeThreadWindows::GetHostThread ( )
inline

◆ GetName()

std::string NativeThreadWindows::GetName ( )
overridevirtual

◆ GetRegisterContext()

NativeRegisterContextWindows & lldb_private::NativeThreadWindows::GetRegisterContext ( )
inlineoverridevirtual

Implements lldb_private::NativeThreadProtocol.

Definition at line 35 of file NativeThreadWindows.h.

References m_reg_context_up.

Referenced by DoResume().

◆ GetState()

lldb::StateType lldb_private::NativeThreadWindows::GetState ( )
inlineoverridevirtual

Implements lldb_private::NativeThreadProtocol.

Definition at line 33 of file NativeThreadWindows.h.

References m_state.

Referenced by DoResume().

◆ GetStopReason()

bool NativeThreadWindows::GetStopReason ( ThreadStopInfo stop_info,
std::string &  description 
)
overridevirtual

◆ RemoveHardwareBreakpoint()

Status NativeThreadWindows::RemoveHardwareBreakpoint ( lldb::addr_t  addr)
overridevirtual

◆ RemoveWatchpoint()

Status NativeThreadWindows::RemoveWatchpoint ( lldb::addr_t  addr)
overridevirtual

◆ SetHardwareBreakpoint()

Status NativeThreadWindows::SetHardwareBreakpoint ( lldb::addr_t  addr,
size_t  size 
)
overridevirtual

◆ SetStopReason()

void NativeThreadWindows::SetStopReason ( ThreadStopInfo  stop_info,
std::string  description 
)

◆ SetWatchpoint()

Status NativeThreadWindows::SetWatchpoint ( lldb::addr_t  addr,
size_t  size,
uint32_t  watch_flags,
bool  hardware 
)
overridevirtual

Member Data Documentation

◆ m_host_thread

HostThread lldb_private::NativeThreadWindows::m_host_thread
protected

Definition at line 66 of file NativeThreadWindows.h.

Referenced by DoResume(), DoStop(), and GetHostThread().

◆ m_hw_breakpoint_index_map

IndexMap lldb_private::NativeThreadWindows::m_hw_breakpoint_index_map
protected

Definition at line 65 of file NativeThreadWindows.h.

◆ m_name

std::string lldb_private::NativeThreadWindows::m_name
protected

Definition at line 57 of file NativeThreadWindows.h.

Referenced by GetName().

◆ m_reg_context_up

std::unique_ptr<NativeRegisterContextWindows> lldb_private::NativeThreadWindows::m_reg_context_up
protected

◆ m_state

lldb::StateType lldb_private::NativeThreadWindows::m_state = lldb::StateType::eStateInvalid
protected

◆ m_stop_description

std::string lldb_private::NativeThreadWindows::m_stop_description
protected

Definition at line 59 of file NativeThreadWindows.h.

Referenced by GetStopReason(), and SetStopReason().

◆ m_stop_info

ThreadStopInfo lldb_private::NativeThreadWindows::m_stop_info
protected

Definition at line 58 of file NativeThreadWindows.h.

Referenced by GetStopReason(), and SetStopReason().

◆ m_watchpoint_index_map

IndexMap lldb_private::NativeThreadWindows::m_watchpoint_index_map
protected

Definition at line 64 of file NativeThreadWindows.h.

Referenced by RemoveWatchpoint(), and SetWatchpoint().


The documentation for this class was generated from the following files: