|
LLDB mainline
|
#include <MemoryRegionInfo.h>
Public Types | |
| typedef Range< lldb::addr_t, lldb::addr_t > | RangeType |
Public Member Functions | |
| MemoryRegionInfo ()=default | |
| MemoryRegionInfo (RangeType range, LazyBool read, LazyBool write, LazyBool execute, LazyBool shared, LazyBool mapped, ConstString name) | |
| RangeType & | GetRange () |
| void | Clear () |
| const RangeType & | GetRange () 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) |
| MemoryRegionInfo & | SetMemoryTagged (LazyBool val) |
| MemoryRegionInfo & | SetIsShadowStack (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 |
Definition at line 21 of file MemoryRegionInfo.h.
Definition at line 23 of file MemoryRegionInfo.h.
|
default |
Referenced by Clear(), operator!=(), operator==(), SetIsShadowStack(), and SetMemoryTagged().
|
inline |
Definition at line 34 of file MemoryRegionInfo.h.
References MemoryRegionInfo().
Referenced by ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
inline |
Definition at line 70 of file MemoryRegionInfo.h.
References m_blocksize.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
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().
|
inline |
Definition at line 42 of file MemoryRegionInfo.h.
References m_execute.
Referenced by CheckForLinuxExecutable(), CommandObjectMemoryRegion::DumpRegion(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::Process::GetLoadAddressPermissions(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo().
|
inline |
Definition at line 66 of file MemoryRegionInfo.h.
References m_flash.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoWriteMemory(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 86 of file MemoryRegionInfo.h.
References lldb_private::eLazyBoolYes, m_execute, m_read, and m_write.
Referenced by AddDirtyPages(), AddRegion(), CreateCoreFileMemoryRange(), lldb_private::Process::GetLoadAddressPermissions(), and Intersect().
|
inline |
Definition at line 46 of file MemoryRegionInfo.h.
References m_mapped.
Referenced by lldb_private::minidump::ProcessMinidump::BuildMemoryRegions(), lldb_private::Process::GetMemoryRegions(), DynamicLoaderPOSIXDYLD::LoadInterpreterModule(), DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(), and lldb_private::ProcessDebugger::ReadMemory().
|
inline |
Definition at line 50 of file MemoryRegionInfo.h.
References m_memory_tagged.
Referenced by CommandObjectMemoryRegion::DumpRegion(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo().
|
inline |
Definition at line 48 of file MemoryRegionInfo.h.
References m_name.
Referenced by CheckForLinuxExecutable(), CommandObjectMemoryRegion::DumpRegion(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), DynamicLoaderPOSIXDYLD::LoadInterpreterModule(), DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache(), and DYLDRendezvous::UpdateFileSpecIfNecessary().
|
inline |
Get the target system's VM page size in bytes.
Definition at line 125 of file MemoryRegionInfo.h.
References m_pagesize.
Referenced by AddDirtyPages().
|
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().
|
inline |
Definition at line 36 of file MemoryRegionInfo.h.
References m_range.
|
inline |
Definition at line 38 of file MemoryRegionInfo.h.
References m_read.
Referenced by CommandObjectMemoryRegion::DumpRegion(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::Process::GetLoadAddressPermissions(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo().
|
inline |
Definition at line 44 of file MemoryRegionInfo.h.
References m_shared.
|
inline |
Definition at line 40 of file MemoryRegionInfo.h.
References m_write.
Referenced by CommandObjectMemoryRegion::DumpRegion(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::Process::GetLoadAddressPermissions(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo().
|
inline |
Definition at line 52 of file MemoryRegionInfo.h.
References m_is_shadow_stack.
Referenced by CommandObjectMemoryRegion::DumpRegion(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo().
|
inline |
Definition at line 135 of file MemoryRegionInfo.h.
References m_is_stack_memory.
|
inline |
Definition at line 120 of file MemoryRegionInfo.h.
References MemoryRegionInfo().
|
inline |
Definition at line 108 of file MemoryRegionInfo.h.
References m_blocksize, m_execute, m_flash, m_is_shadow_stack, m_is_stack_memory, m_mapped, m_memory_tagged, m_name, m_pagesize, m_range, m_read, m_shared, m_write, and MemoryRegionInfo().
|
inline |
Definition at line 72 of file MemoryRegionInfo.h.
References m_blocksize.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap().
|
inline |
Definition at line 141 of file MemoryRegionInfo.h.
References m_dirty_pages.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 58 of file MemoryRegionInfo.h.
References m_execute.
Referenced by CreateRegionsCacheFromMemoryInfoList(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::minidump::MinidumpParser::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(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
inline |
Definition at line 68 of file MemoryRegionInfo.h.
References m_flash.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap().
|
inline |
Definition at line 79 of file MemoryRegionInfo.h.
References m_is_shadow_stack, and MemoryRegionInfo().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 137 of file MemoryRegionInfo.h.
References m_is_stack_memory.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 99 of file MemoryRegionInfo.h.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, m_execute, m_read, and m_write.
Referenced by ProcessMachCore::DoGetMemoryRegionInfo(), and Intersect().
|
inline |
Definition at line 62 of file MemoryRegionInfo.h.
References m_mapped.
Referenced by CreateRegionsCacheFromMemoryInfoList(), CreateRegionsCacheFromMemoryList(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::minidump::MinidumpParser::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(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
inline |
Definition at line 74 of file MemoryRegionInfo.h.
References m_memory_tagged, and MemoryRegionInfo().
Referenced by ProcessElfCore::DoGetMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 64 of file MemoryRegionInfo.h.
References m_name.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
inline |
Definition at line 139 of file MemoryRegionInfo.h.
References m_pagesize.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo().
|
inline |
Definition at line 54 of file MemoryRegionInfo.h.
References m_read.
Referenced by CreateRegionsCacheFromMemoryInfoList(), CreateRegionsCacheFromMemoryList(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::minidump::MinidumpParser::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_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
inline |
Definition at line 60 of file MemoryRegionInfo.h.
References m_shared.
Referenced by ParseMemoryRegionInfoFromProcMapsLine().
|
inline |
Definition at line 56 of file MemoryRegionInfo.h.
References m_write.
Referenced by CreateRegionsCacheFromMemoryInfoList(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::minidump::MinidumpParser::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_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache().
|
protected |
Definition at line 156 of file MemoryRegionInfo.h.
Referenced by GetBlocksize(), operator==(), and SetBlocksize().
|
protected |
Definition at line 161 of file MemoryRegionInfo.h.
Referenced by GetDirtyPageList(), and SetDirtyPageList().
|
protected |
Definition at line 151 of file MemoryRegionInfo.h.
Referenced by GetExecutable(), GetLLDBPermissions(), MemoryRegionInfo(), operator==(), SetExecutable(), and SetLLDBPermissions().
|
protected |
Definition at line 155 of file MemoryRegionInfo.h.
Referenced by GetFlash(), operator==(), and SetFlash().
|
protected |
Definition at line 159 of file MemoryRegionInfo.h.
Referenced by IsShadowStack(), operator==(), and SetIsShadowStack().
|
protected |
Definition at line 158 of file MemoryRegionInfo.h.
Referenced by IsStackMemory(), operator==(), and SetIsStackMemory().
|
protected |
Definition at line 153 of file MemoryRegionInfo.h.
Referenced by GetMapped(), MemoryRegionInfo(), operator==(), and SetMapped().
|
protected |
Definition at line 157 of file MemoryRegionInfo.h.
Referenced by GetMemoryTagged(), operator==(), and SetMemoryTagged().
|
protected |
Definition at line 154 of file MemoryRegionInfo.h.
Referenced by GetName(), MemoryRegionInfo(), operator==(), and SetName().
|
protected |
Definition at line 160 of file MemoryRegionInfo.h.
Referenced by GetPageSize(), operator==(), and SetPageSize().
|
protected |
Definition at line 148 of file MemoryRegionInfo.h.
Referenced by GetRange(), GetRange(), MemoryRegionInfo(), and operator==().
|
protected |
Definition at line 149 of file MemoryRegionInfo.h.
Referenced by GetLLDBPermissions(), GetReadable(), MemoryRegionInfo(), operator==(), SetLLDBPermissions(), and SetReadable().
|
protected |
Definition at line 152 of file MemoryRegionInfo.h.
Referenced by GetShared(), MemoryRegionInfo(), operator==(), and SetShared().
|
protected |
Definition at line 150 of file MemoryRegionInfo.h.
Referenced by GetLLDBPermissions(), GetWritable(), MemoryRegionInfo(), operator==(), SetLLDBPermissions(), and SetWritable().