Go to the documentation of this file.
9 #ifndef LLDB_TARGET_REGISTERCONTEXT_H
10 #define LLDB_TARGET_REGISTERCONTEXT_H
118 bool read,
bool write);
188 uint64_t
GetFlags(uint64_t fail_value = 0);
193 uint64_t fail_value);
246 #endif // LLDB_TARGET_REGISTERCONTEXT_H
virtual bool WriteRegister(const RegisterInfo *reg_info, const RegisterValue ®_value)=0
virtual size_t GetRegisterCount()=0
uint32_t GetStopID() const
virtual Status WriteRegisterValueToMemory(const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, uint32_t dst_len, const RegisterValue ®_value)
const char * GetRegisterName(uint32_t reg)
lldb::StackFrameSP CalculateStackFrame() override
virtual const RegisterSet * GetRegisterSet(size_t reg_set)=0
virtual bool ReadRegister(const RegisterInfo *reg_info, RegisterValue ®_value)=0
virtual uint32_t ConvertRegisterKindToRegisterNumber(lldb::RegisterKind kind, uint32_t num)
Convert from a given register numbering scheme to the lldb register numbering scheme.
uint64_t ReadRegisterAsUnsigned(uint32_t reg, uint64_t fail_value)
bool GetPCForSymbolication(Address &address)
Get an address suitable for symbolication.
virtual const RegisterInfo * GetRegisterInfoAtIndex(size_t reg)=0
void InvalidateIfNeeded(bool force)
virtual lldb::tid_t GetThreadID() const
virtual uint32_t NumSupportedHardwareBreakpoints()
virtual bool ReadAllRegisterValues(lldb::WritableDataBufferSP &data_sp)
virtual bool BehavesLikeZerothFrame() const
Indicates that this frame is currently executing code, that the PC value is not a return-pc but an ac...
virtual bool ClearHardwareBreakpoint(uint32_t hw_idx)
lldb::ProcessSP CalculateProcess() override
void CalculateExecutionContext(ExecutionContext &exe_ctx) override
Reconstruct the object's execution context into sc.
virtual bool HardwareSingleStep(bool enable)
uint64_t GetPC(uint64_t fail_value=LLDB_INVALID_ADDRESS)
~RegisterContext() override
uint64_t GetReturnAddress(uint64_t fail_value=LLDB_INVALID_ADDRESS)
const RegisterInfo * GetRegisterInfo(lldb::RegisterKind reg_kind, uint32_t reg_num)
virtual uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size, bool read, bool write)
uint64_t GetFP(uint64_t fail_value=LLDB_INVALID_ADDRESS)
virtual Status ReadRegisterValueFromMemory(const lldb_private::RegisterInfo *reg_info, lldb::addr_t src_addr, uint32_t src_len, RegisterValue ®_value)
uint64_t GetSP(uint64_t fail_value=LLDB_INVALID_ADDRESS)
RegisterKind
Register numbering types.
virtual lldb::ByteOrder GetByteOrder()
virtual size_t GetRegisterSetCount()=0
RegisterContext(Thread &thread, uint32_t concrete_frame_idx)
virtual uint32_t SetHardwareBreakpoint(lldb::addr_t addr, size_t size)
virtual uint32_t NumSupportedHardwareWatchpoints()
uint32_t m_concrete_frame_idx
bool WriteRegisterFromUnsigned(uint32_t reg, uint64_t uval)
const RegisterContext & operator=(const RegisterContext &)=delete
virtual Thread & GetThread()
#define LLDB_INVALID_ADDRESS
void SetStopID(uint32_t stop_id)
lldb::ThreadSP CalculateThread() override
virtual void InvalidateAllRegisters()=0
lldb::TargetSP CalculateTarget() override
virtual bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp)
virtual bool ClearHardwareWatchpoint(uint32_t hw_index)
A class that represents a running process on the host machine.
bool ConvertBetweenRegisterKinds(lldb::RegisterKind source_rk, uint32_t source_regnum, lldb::RegisterKind target_rk, uint32_t &target_regnum)
uint64_t GetFlags(uint64_t fail_value=0)
bool CopyFromRegisterContext(lldb::RegisterContextSP context)
const RegisterInfo * GetRegisterInfoByName(llvm::StringRef reg_name, uint32_t start_idx=0)
ByteOrder
Byte ordering definitions.