SBMemoryRegionInfo#

class lldb.SBMemoryRegionInfo(*args)#

API clients can get information about memory regions in processes.

For Python users, len() is overriden to output the size of the memory region in bytes. For Python users, str() is overriden with the results of the GetDescription function-

produces a formatted string that describes a memory range in the form: [Hex start - Hex End) with associated permissions (RWX)

Methods Summary

Clear(SBMemoryRegionInfo self)

GetDescription(SBMemoryRegionInfo self, ...)

Takes an SBStream parameter to write output to, formatted [Hex start - Hex End) with associated permissions (RWX).

GetDirtyPageAddressAtIndex(...)

Return the address of a modified, or dirty, page of memory.

GetName()

Returns the name of the memory region mapped at the given address.

GetNumDirtyPages(SBMemoryRegionInfo self)

Return the number of dirty (modified) memory pages in this memory region, if available.

GetPageSize(SBMemoryRegionInfo self)

Return the size of pages in this memory region.

GetRegionBase()

Get the base address of this memory range.

GetRegionEnd()

Get the end address of this memory range.

HasDirtyMemoryPageList(SBMemoryRegionInfo self)

Returns whether this memory region has a list of modified (dirty) pages available or not.

IsExecutable()

Check if this memory address is marked executable to the process.

IsMapped()

Check if this memory address is mapped into the process address space.

IsReadable()

Check if this memory address is marked readable to the process.

IsWritable()

Check if this memory address is marked writable to the process.

Methods Documentation

Clear(SBMemoryRegionInfo self)#
GetDescription(SBMemoryRegionInfo self, SBStream description) bool#

Takes an SBStream parameter to write output to, formatted [Hex start - Hex End) with associated permissions (RWX). If the function results false, no output will be written. If results true, the output will be written to the stream.

GetDirtyPageAddressAtIndex(SBMemoryRegionInfo self, uint32_t idx) lldb::addr_t#

Return the address of a modified, or dirty, page of memory. If the provided index is out of range, or this memory region does not have dirty page information, LLDB_INVALID_ADDRESS is returned.

GetName()#

Returns the name of the memory region mapped at the given address.

Return type:

string

Returns:

In case of memory mapped files it is the absolute path of the file otherwise it is a name associated with the memory region. If no name can be determined the returns nullptr.

GetNumDirtyPages(SBMemoryRegionInfo self) uint32_t#

Return the number of dirty (modified) memory pages in this memory region, if available. You must use the SBMemoryRegionInfo::HasDirtyMemoryPageList() method to determine if a dirty memory list is available; it will depend on the target system can provide this information.

GetPageSize(SBMemoryRegionInfo self) int#

Return the size of pages in this memory region. 0 will be returned if this information was unavailable.

GetRegionBase()#

Get the base address of this memory range.

Return type:

int

Returns:

The base address of this memory range.

GetRegionEnd()#

Get the end address of this memory range.

Return type:

int

Returns:

The base address of this memory range.

HasDirtyMemoryPageList(SBMemoryRegionInfo self) bool#

Returns whether this memory region has a list of modified (dirty) pages available or not. When calling GetNumDirtyPages(), you will have 0 returned for both “dirty page list is not known” and “empty dirty page list” (that is, no modified pages in this memory region). You must use this method to disambiguate.

IsExecutable()#

Check if this memory address is marked executable to the process.

Return type:

boolean

Returns:

true if this memory address is marked executable

IsMapped()#

Check if this memory address is mapped into the process address space.

Return type:

boolean

Returns:

true if this memory address is in the process address space.

IsReadable()#

Check if this memory address is marked readable to the process.

Return type:

boolean

Returns:

true if this memory address is marked readable

IsWritable()#

Check if this memory address is marked writable to the process.

Return type:

boolean

Returns:

true if this memory address is marked writable