LLDB mainline
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
lldb_private::process_freebsd::NativeThreadFreeBSD Class Reference

#include <NativeThreadFreeBSD.h>

Inheritance diagram for lldb_private::process_freebsd::NativeThreadFreeBSD:
Inheritance graph
[legend]

Public Member Functions

 NativeThreadFreeBSD (NativeProcessFreeBSD &process, lldb::tid_t tid)
 
std::string GetName () override
 
lldb::StateType GetState () override
 
bool GetStopReason (ThreadStopInfo &stop_info, std::string &description) override
 
NativeRegisterContextFreeBSDGetRegisterContext () 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
 
llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > GetSiginfo () const override
 
- 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
 

Private Types

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

Private Member Functions

Status Resume ()
 
Status SingleStep ()
 
Status Suspend ()
 
void SetStoppedBySignal (uint32_t signo, const siginfo_t *info=nullptr)
 
void SetStoppedByBreakpoint ()
 
void SetStoppedByTrace ()
 
void SetStoppedByExec ()
 
void SetStoppedByWatchpoint (uint32_t wp_index)
 
void SetStoppedByFork (lldb::pid_t child_pid, lldb::tid_t child_tid)
 
void SetStoppedByVFork (lldb::pid_t child_pid, lldb::tid_t child_tid)
 
void SetStoppedByVForkDone ()
 
void SetStoppedWithNoReason ()
 
void SetStopped ()
 
void SetRunning ()
 
void SetStepping ()
 
llvm::Error CopyWatchpointsFrom (NativeThreadFreeBSD &source)
 

Private Attributes

lldb::StateType m_state
 
ThreadStopInfo m_stop_info
 
std::unique_ptr< NativeRegisterContextFreeBSDm_reg_context_up
 
std::string m_stop_description
 
WatchpointIndexMap m_watchpoint_index_map
 
WatchpointIndexMap m_hw_break_index_map
 

Friends

class NativeProcessFreeBSD
 

Additional Inherited Members

- Protected Attributes inherited from lldb_private::NativeThreadProtocol
NativeProcessProtocolm_process
 
lldb::tid_t m_tid
 

Detailed Description

Definition at line 25 of file NativeThreadFreeBSD.h.

Member Typedef Documentation

◆ WatchpointIndexMap

Definition at line 80 of file NativeThreadFreeBSD.h.

Constructor & Destructor Documentation

◆ NativeThreadFreeBSD()

NativeThreadFreeBSD::NativeThreadFreeBSD ( NativeProcessFreeBSD process,
lldb::tid_t  tid 
)

Definition at line 35 of file NativeThreadFreeBSD.cpp.

Member Function Documentation

◆ CopyWatchpointsFrom()

llvm::Error NativeThreadFreeBSD::CopyWatchpointsFrom ( NativeThreadFreeBSD source)
private

◆ GetName()

std::string NativeThreadFreeBSD::GetName ( )
overridevirtual

◆ GetRegisterContext()

NativeRegisterContextFreeBSD & NativeThreadFreeBSD::GetRegisterContext ( )
overridevirtual

◆ GetSiginfo()

llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > NativeThreadFreeBSD::GetSiginfo ( ) const
overridevirtual

◆ GetState()

lldb::StateType NativeThreadFreeBSD::GetState ( )
overridevirtual

Implements lldb_private::NativeThreadProtocol.

Definition at line 214 of file NativeThreadFreeBSD.cpp.

References m_state.

◆ GetStopReason()

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

◆ RemoveHardwareBreakpoint()

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

◆ RemoveWatchpoint()

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

Implements lldb_private::NativeThreadProtocol.

Definition at line 267 of file NativeThreadFreeBSD.cpp.

References GetRegisterContext(), and m_watchpoint_index_map.

Referenced by SetWatchpoint().

◆ Resume()

Status NativeThreadFreeBSD::Resume ( )
private

◆ SetHardwareBreakpoint()

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

◆ SetRunning()

void NativeThreadFreeBSD::SetRunning ( )
private

Definition at line 172 of file NativeThreadFreeBSD.cpp.

References m_state, m_stop_info, and lldb_private::ThreadStopInfo::reason.

Referenced by Resume().

◆ SetStepping()

void NativeThreadFreeBSD::SetStepping ( )
private

Definition at line 177 of file NativeThreadFreeBSD.cpp.

References m_state, m_stop_info, and lldb_private::ThreadStopInfo::reason.

Referenced by SingleStep().

◆ SetStopped()

void NativeThreadFreeBSD::SetStopped ( )
private

◆ SetStoppedByBreakpoint()

void NativeThreadFreeBSD::SetStoppedByBreakpoint ( )
private

◆ SetStoppedByExec()

void NativeThreadFreeBSD::SetStoppedByExec ( )
private

◆ SetStoppedByFork()

void NativeThreadFreeBSD::SetStoppedByFork ( lldb::pid_t  child_pid,
lldb::tid_t  child_tid 
)
private

◆ SetStoppedBySignal()

void NativeThreadFreeBSD::SetStoppedBySignal ( uint32_t  signo,
const siginfo_t *  info = nullptr 
)
private

◆ SetStoppedByTrace()

void NativeThreadFreeBSD::SetStoppedByTrace ( )
private

◆ SetStoppedByVFork()

void NativeThreadFreeBSD::SetStoppedByVFork ( lldb::pid_t  child_pid,
lldb::tid_t  child_tid 
)
private

◆ SetStoppedByVForkDone()

void NativeThreadFreeBSD::SetStoppedByVForkDone ( )
private

◆ SetStoppedByWatchpoint()

void NativeThreadFreeBSD::SetStoppedByWatchpoint ( uint32_t  wp_index)
private

◆ SetStoppedWithNoReason()

void NativeThreadFreeBSD::SetStoppedWithNoReason ( )
private

◆ SetWatchpoint()

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

◆ SingleStep()

Status NativeThreadFreeBSD::SingleStep ( )
private

◆ Suspend()

Status NativeThreadFreeBSD::Suspend ( )
private

Friends And Related Function Documentation

◆ NativeProcessFreeBSD

friend class NativeProcessFreeBSD
friend

Definition at line 26 of file NativeThreadFreeBSD.h.

Member Data Documentation

◆ m_hw_break_index_map

WatchpointIndexMap lldb_private::process_freebsd::NativeThreadFreeBSD::m_hw_break_index_map
private

◆ m_reg_context_up

std::unique_ptr<NativeRegisterContextFreeBSD> lldb_private::process_freebsd::NativeThreadFreeBSD::m_reg_context_up
private

Definition at line 78 of file NativeThreadFreeBSD.h.

Referenced by GetRegisterContext().

◆ m_state

lldb::StateType lldb_private::process_freebsd::NativeThreadFreeBSD::m_state
private

◆ m_stop_description

std::string lldb_private::process_freebsd::NativeThreadFreeBSD::m_stop_description
private

◆ m_stop_info

ThreadStopInfo lldb_private::process_freebsd::NativeThreadFreeBSD::m_stop_info
private

◆ m_watchpoint_index_map

WatchpointIndexMap lldb_private::process_freebsd::NativeThreadFreeBSD::m_watchpoint_index_map
private

Definition at line 81 of file NativeThreadFreeBSD.h.

Referenced by CopyWatchpointsFrom(), RemoveWatchpoint(), and SetWatchpoint().


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