9#ifndef LLDB_HOST_COMMON_NATIVETHREADPROTOCOL_H
10#define LLDB_HOST_COMMON_NATIVETHREADPROTOCOL_H
21#include "llvm/Support/Error.h"
22#include "llvm/Support/MemoryBuffer.h"
39 std::string &description) = 0;
47 uint32_t watch_flags,
bool hardware) = 0;
56 virtual llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
58 return llvm::make_error<UnimplementedError>();
virtual Status SetHardwareBreakpoint(lldb::addr_t addr, size_t size)=0
virtual bool GetStopReason(ThreadStopInfo &stop_info, std::string &description)=0
NativeProcessProtocol & GetProcess()
virtual lldb::StateType GetState()=0
virtual Status SetWatchpoint(lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware)=0
NativeProcessProtocol & m_process
virtual Status RemoveHardwareBreakpoint(lldb::addr_t addr)=0
virtual ~NativeThreadProtocol()=default
virtual llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > GetSiginfo() const
std::string m_stop_description
virtual Status RemoveWatchpoint(lldb::addr_t addr)=0
virtual StructuredData::ObjectSP GetExtendedInfo() const
NativeThreadProtocol(NativeProcessProtocol &process, lldb::tid_t tid)
ThreadStopInfo m_stop_info
virtual std::string GetName()=0
virtual NativeRegisterContext & GetRegisterContext()=0
lldb::tid_t GetID() const
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.
StateType
Process and Thread States.