LLDB mainline
lldb_private::MemoryRegionInfo Class Reference

#include <MemoryRegionInfo.h>

Public Types

typedef Range< lldb::addr_t, lldb::addr_tRangeType

Public Member Functions

 MemoryRegionInfo ()=default
 MemoryRegionInfo (RangeType range, LazyBool read, LazyBool write, LazyBool execute, LazyBool shared, LazyBool mapped, ConstString name)
RangeTypeGetRange ()
void Clear ()
const RangeTypeGetRange () const
LazyBool GetReadable () const
LazyBool GetWritable () const
LazyBool GetExecutable () const
LazyBool GetShared () const
LazyBool GetMapped () const
ConstString GetName () const
LazyBool GetMemoryTagged () const
LazyBool IsShadowStack () const
void SetReadable (LazyBool val)
void SetWritable (LazyBool val)
void SetExecutable (LazyBool val)
void SetShared (LazyBool val)
void SetMapped (LazyBool val)
void SetName (const char *name)
LazyBool GetFlash () const
void SetFlash (LazyBool val)
lldb::offset_t GetBlocksize () const
void SetBlocksize (lldb::offset_t blocksize)
MemoryRegionInfoSetMemoryTagged (LazyBool val)
MemoryRegionInfoSetIsShadowStack (LazyBool val)
uint32_t GetLLDBPermissions () const
void SetLLDBPermissions (uint32_t permissions)
bool operator== (const MemoryRegionInfo &rhs) const
bool operator!= (const MemoryRegionInfo &rhs) const
int GetPageSize () const
 Get the target system's VM page size in bytes.
const std::optional< std::vector< lldb::addr_t > > & GetDirtyPageList () const
 Get a vector of target VM pages that are dirty – that have been modified – within this memory region.
LazyBool IsStackMemory () const
void SetIsStackMemory (LazyBool val)
void SetPageSize (int pagesize)
void SetDirtyPageList (std::vector< lldb::addr_t > pagelist)

Protected Attributes

RangeType m_range
LazyBool m_read = eLazyBoolDontKnow
LazyBool m_write = eLazyBoolDontKnow
LazyBool m_execute = eLazyBoolDontKnow
LazyBool m_shared = eLazyBoolDontKnow
LazyBool m_mapped = eLazyBoolDontKnow
ConstString m_name
LazyBool m_flash = eLazyBoolDontKnow
lldb::offset_t m_blocksize = 0
LazyBool m_memory_tagged = eLazyBoolDontKnow
LazyBool m_is_stack_memory = eLazyBoolDontKnow
LazyBool m_is_shadow_stack = eLazyBoolDontKnow
int m_pagesize = 0
std::optional< std::vector< lldb::addr_t > > m_dirty_pages

Detailed Description

Definition at line 21 of file MemoryRegionInfo.h.

Member Typedef Documentation

◆ RangeType

Constructor & Destructor Documentation

◆ MemoryRegionInfo() [1/2]

lldb_private::MemoryRegionInfo::MemoryRegionInfo ( )
default

◆ MemoryRegionInfo() [2/2]

lldb_private::MemoryRegionInfo::MemoryRegionInfo ( RangeType range,
LazyBool read,
LazyBool write,
LazyBool execute,
LazyBool shared,
LazyBool mapped,
ConstString name )
inline

Definition at line 26 of file MemoryRegionInfo.h.

References m_execute, m_mapped, m_name, m_range, m_read, m_shared, and m_write.

Member Function Documentation

◆ Clear()

◆ GetBlocksize()

◆ GetDirtyPageList()

const std::optional< std::vector< lldb::addr_t > > & lldb_private::MemoryRegionInfo::GetDirtyPageList ( ) const
inline

Get a vector of target VM pages that are dirty – that have been modified – within this memory region.

This is an Optional return value; it will only be available if the remote stub was able to detail this.

Definition at line 131 of file MemoryRegionInfo.h.

References m_dirty_pages.

Referenced by AddDirtyPages(), and CommandObjectMemoryRegion::DumpRegion().

◆ GetExecutable()

◆ GetFlash()

LazyBool lldb_private::MemoryRegionInfo::GetFlash ( ) const
inline

◆ GetLLDBPermissions()

uint32_t lldb_private::MemoryRegionInfo::GetLLDBPermissions ( ) const
inline

◆ GetMapped()

◆ GetMemoryTagged()

LazyBool lldb_private::MemoryRegionInfo::GetMemoryTagged ( ) const
inline

◆ GetName()

◆ GetPageSize()

int lldb_private::MemoryRegionInfo::GetPageSize ( ) const
inline

Get the target system's VM page size in bytes.

Returns
0 is returned if this information is unavailable.

Definition at line 125 of file MemoryRegionInfo.h.

References m_pagesize.

Referenced by AddDirtyPages().

◆ GetRange() [1/2]

RangeType & lldb_private::MemoryRegionInfo::GetRange ( )
inline

Definition at line 32 of file MemoryRegionInfo.h.

References m_range.

Referenced by lldb_private::SaveCoreOptions::AddMemoryRegionToSave(), AddRegion(), MinidumpFileBuilder::AddThreadList(), lldb_private::minidump::ProcessMinidump::BuildMemoryRegions(), CheckForLinuxExecutable(), CreateCoreFileMemoryRange(), CreateRegionsCacheFromMemoryInfoList(), CreateRegionsCacheFromMemoryList(), CommandObjectMemoryRegion::DoExecute(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoWriteMemory(), CommandObjectMemoryRegion::DumpRegion(), lldb_private::Process::FindInMemory(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::minidump::MinidumpParser::GetMemoryRegionInfo(), lldb_private::Process::GetMemoryRegionInfo(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::process_linux::NativeProcessLinux::GetMemoryRegionInfo(), lldb_private::process_netbsd::NativeProcessNetBSD::GetMemoryRegionInfo(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), lldb_private::Process::GetMemoryRegions(), lldb_private::ScriptedProcess::GetMemoryRegions(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), Intersect(), DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap(), DynamicLoaderPOSIXDYLD::LoadVDSO(), lldb_private::operator<(), lldb_private::operator<(), lldb_private::operator<(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache(), lldb_private::ProcessDebugger::ReadMemory(), and SaveOffRegionsWithStackPointers().

◆ GetRange() [2/2]

const RangeType & lldb_private::MemoryRegionInfo::GetRange ( ) const
inline

Definition at line 36 of file MemoryRegionInfo.h.

References m_range.

◆ GetReadable()

◆ GetShared()

LazyBool lldb_private::MemoryRegionInfo::GetShared ( ) const
inline

Definition at line 44 of file MemoryRegionInfo.h.

References m_shared.

◆ GetWritable()

◆ IsShadowStack()

LazyBool lldb_private::MemoryRegionInfo::IsShadowStack ( ) const
inline

◆ IsStackMemory()

LazyBool lldb_private::MemoryRegionInfo::IsStackMemory ( ) const
inline

Definition at line 135 of file MemoryRegionInfo.h.

References m_is_stack_memory.

◆ operator!=()

bool lldb_private::MemoryRegionInfo::operator!= ( const MemoryRegionInfo & rhs) const
inline

Definition at line 120 of file MemoryRegionInfo.h.

References MemoryRegionInfo().

◆ operator==()

bool lldb_private::MemoryRegionInfo::operator== ( const MemoryRegionInfo & rhs) const
inline

◆ SetBlocksize()

◆ SetDirtyPageList()

void lldb_private::MemoryRegionInfo::SetDirtyPageList ( std::vector< lldb::addr_t > pagelist)
inline

◆ SetExecutable()

◆ SetFlash()

◆ SetIsShadowStack()

MemoryRegionInfo & lldb_private::MemoryRegionInfo::SetIsShadowStack ( LazyBool val)
inline

◆ SetIsStackMemory()

void lldb_private::MemoryRegionInfo::SetIsStackMemory ( LazyBool val)
inline

◆ SetLLDBPermissions()

void lldb_private::MemoryRegionInfo::SetLLDBPermissions ( uint32_t permissions)
inline

◆ SetMapped()

◆ SetMemoryTagged()

MemoryRegionInfo & lldb_private::MemoryRegionInfo::SetMemoryTagged ( LazyBool val)
inline

◆ SetName()

◆ SetPageSize()

void lldb_private::MemoryRegionInfo::SetPageSize ( int pagesize)
inline

◆ SetReadable()

◆ SetShared()

void lldb_private::MemoryRegionInfo::SetShared ( LazyBool val)
inline

Definition at line 60 of file MemoryRegionInfo.h.

References m_shared.

Referenced by ParseMemoryRegionInfoFromProcMapsLine().

◆ SetWritable()

Member Data Documentation

◆ m_blocksize

lldb::offset_t lldb_private::MemoryRegionInfo::m_blocksize = 0
protected

Definition at line 156 of file MemoryRegionInfo.h.

Referenced by GetBlocksize(), operator==(), and SetBlocksize().

◆ m_dirty_pages

std::optional<std::vector<lldb::addr_t> > lldb_private::MemoryRegionInfo::m_dirty_pages
protected

Definition at line 161 of file MemoryRegionInfo.h.

Referenced by GetDirtyPageList(), and SetDirtyPageList().

◆ m_execute

LazyBool lldb_private::MemoryRegionInfo::m_execute = eLazyBoolDontKnow
protected

◆ m_flash

LazyBool lldb_private::MemoryRegionInfo::m_flash = eLazyBoolDontKnow
protected

Definition at line 155 of file MemoryRegionInfo.h.

Referenced by GetFlash(), operator==(), and SetFlash().

◆ m_is_shadow_stack

LazyBool lldb_private::MemoryRegionInfo::m_is_shadow_stack = eLazyBoolDontKnow
protected

Definition at line 159 of file MemoryRegionInfo.h.

Referenced by IsShadowStack(), operator==(), and SetIsShadowStack().

◆ m_is_stack_memory

LazyBool lldb_private::MemoryRegionInfo::m_is_stack_memory = eLazyBoolDontKnow
protected

Definition at line 158 of file MemoryRegionInfo.h.

Referenced by IsStackMemory(), operator==(), and SetIsStackMemory().

◆ m_mapped

LazyBool lldb_private::MemoryRegionInfo::m_mapped = eLazyBoolDontKnow
protected

Definition at line 153 of file MemoryRegionInfo.h.

Referenced by GetMapped(), MemoryRegionInfo(), operator==(), and SetMapped().

◆ m_memory_tagged

LazyBool lldb_private::MemoryRegionInfo::m_memory_tagged = eLazyBoolDontKnow
protected

Definition at line 157 of file MemoryRegionInfo.h.

Referenced by GetMemoryTagged(), operator==(), and SetMemoryTagged().

◆ m_name

ConstString lldb_private::MemoryRegionInfo::m_name
protected

Definition at line 154 of file MemoryRegionInfo.h.

Referenced by GetName(), MemoryRegionInfo(), operator==(), and SetName().

◆ m_pagesize

int lldb_private::MemoryRegionInfo::m_pagesize = 0
protected

Definition at line 160 of file MemoryRegionInfo.h.

Referenced by GetPageSize(), operator==(), and SetPageSize().

◆ m_range

RangeType lldb_private::MemoryRegionInfo::m_range
protected

Definition at line 148 of file MemoryRegionInfo.h.

Referenced by GetRange(), GetRange(), MemoryRegionInfo(), and operator==().

◆ m_read

LazyBool lldb_private::MemoryRegionInfo::m_read = eLazyBoolDontKnow
protected

◆ m_shared

LazyBool lldb_private::MemoryRegionInfo::m_shared = eLazyBoolDontKnow
protected

Definition at line 152 of file MemoryRegionInfo.h.

Referenced by GetShared(), MemoryRegionInfo(), operator==(), and SetShared().

◆ m_write

LazyBool lldb_private::MemoryRegionInfo::m_write = eLazyBoolDontKnow
protected

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