Struct minidump_writer::maps_reader::MappingInfo
source · pub struct MappingInfo {
pub start_address: usize,
pub size: usize,
pub system_mapping_info: SystemMappingInfo,
pub offset: usize,
pub permissions: MMPermissions,
pub name: Option<OsString>,
}
Fields§
§start_address: usize
§size: usize
§system_mapping_info: SystemMappingInfo
§offset: usize
§permissions: MMPermissions
§name: Option<OsString>
Implementations§
source§impl MappingInfo
impl MappingInfo
sourcepub fn name_is_path(&self) -> bool
pub fn name_is_path(&self) -> bool
Return whether the name
field is a path (contains a /
).
pub fn is_empty_page(&self) -> bool
pub fn end_address(&self) -> usize
pub fn aggregate( memory_maps: MemoryMaps, linux_gate_loc: u64 ) -> Result<Vec<Self>, MapsReaderError>
pub fn get_mmap( name: &Option<OsString>, offset: usize ) -> Result<Mmap, MapsReaderError>
sourcepub fn fixup_deleted_file(
&self,
pid: Pid
) -> Result<(OsString, Option<&OsStr>), MapsReaderError>
pub fn fixup_deleted_file( &self, pid: Pid ) -> Result<(OsString, Option<&OsStr>), MapsReaderError>
Check whether the mapping refers to a deleted file, and if so try to find the file elsewhere and return that path.
Currently this only supports fixing a deleted file that was the main exe of the given
pid
.
Returns a tuple, where the first element is the file path (which is possibly different than
self.name
), and the second element is the original file path if a different path was
used. If no mapping name exists, returns an error.
pub fn stack_has_pointer_to_mapping( &self, stack_copy: &[u8], sp_offset: usize ) -> bool
pub fn is_mapped_file_safe_to_open(name: &Option<OsString>) -> bool
pub fn get_mapping_effective_path_name_and_version( &self ) -> Result<(PathBuf, String, Option<SoVersion>), MapsReaderError>
pub fn is_contained_in(&self, user_mapping_list: &MappingList) -> bool
pub fn is_interesting(&self) -> bool
pub fn contains_address(&self, address: usize) -> bool
pub fn is_executable(&self) -> bool
pub fn is_readable(&self) -> bool
pub fn is_writable(&self) -> bool
Trait Implementations§
source§impl Clone for MappingInfo
impl Clone for MappingInfo
source§fn clone(&self) -> MappingInfo
fn clone(&self) -> MappingInfo
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MappingInfo
impl Debug for MappingInfo
source§impl PartialEq for MappingInfo
impl PartialEq for MappingInfo
source§fn eq(&self, other: &MappingInfo) -> bool
fn eq(&self, other: &MappingInfo) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for MappingInfo
impl StructuralPartialEq for MappingInfo
Auto Trait Implementations§
impl Freeze for MappingInfo
impl RefUnwindSafe for MappingInfo
impl Send for MappingInfo
impl Sync for MappingInfo
impl Unpin for MappingInfo
impl UnwindSafe for MappingInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more