Enum minidump::UnifiedMemoryInfoList [−][src]
pub enum UnifiedMemoryInfoList<'a> {
Maps(MinidumpLinuxMaps<'a>),
Info(MinidumpMemoryInfoList<'a>),
}
Expand description
Provides a unified interface for getting metadata about the process’s mapped memory regions at the time of the crash.
Currently this is one of MinidumpMemoryInfoList
, available in Windows minidumps,
or MinidumpLinuxMaps
, available in Linux minidumps.
This allows you to e.g. check whether an address was executable or not without
worrying about which platform the crash occured on. If you need to do more
specific analysis, you can get the native formats with UnifiedMemoryInfoList::info
and UnifiedMemoryInfoList::maps
.
Currently an enum because there is no situation where you can have both, but this may change if the format evolves. Prefer using this type’s methods over pattern matching.
Variants
Maps(MinidumpLinuxMaps<'a>)
Tuple Fields
0: MinidumpLinuxMaps<'a>
Info(MinidumpMemoryInfoList<'a>)
Tuple Fields
0: MinidumpMemoryInfoList<'a>
Implementations
pub fn new(
info: Option<MinidumpMemoryInfoList<'a>>,
maps: Option<MinidumpLinuxMaps<'a>>
) -> Option<Self>
pub fn new(
info: Option<MinidumpMemoryInfoList<'a>>,
maps: Option<MinidumpLinuxMaps<'a>>
) -> Option<Self>
Take two potential memory info sources and create an interface that unifies them.
Under normal circumstances a minidump should only contain one of these. If both are provided, one will be arbitrarily preferred to attempt to make progress.
Return a MinidumpMemory
containing memory at address
, if one exists.
Iterate over the memory regions in the order contained in the minidump.
Iterate over the memory regions in order by memory address.
Write a human-readable description of this MinidumpMemoryList
to f
.
This is very verbose, it is the format used by minidump_dump
.
Get the MinidumpLinuxMaps
contained inside, if it exists.
Potentially useful for doing a more refined analysis in specific places.
Get the MinidumpMemoryInfoList
contained inside, if it exists.
Potentially useful for doing a more refined analysis in specific places.
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for UnifiedMemoryInfoList<'a>
impl<'a> Send for UnifiedMemoryInfoList<'a>
impl<'a> Sync for UnifiedMemoryInfoList<'a>
impl<'a> Unpin for UnifiedMemoryInfoList<'a>
impl<'a> UnwindSafe for UnifiedMemoryInfoList<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more