pub struct LoadedImage {
pub format: LoadedImageFormat,
pub header_address: u64,
pub image_size: u64,
pub slide: i64,
pub path: Option<String>,
pub mapped_ranges: Vec<Range<u64>>,
pub executable_ranges: Vec<Range<u64>>,
pub elf_load_bias: Option<u64>,
pub build_id: Option<Vec<u8>>,
/* private fields */
}Expand description
One native image mapped into the current process, as the loader reports it.
These are raw host facts in the loader’s own order. A field a host does not
report is zero, empty or None rather than guessed.
Fields§
§format: LoadedImageFormatObject format, which selects how the caller reads the mapped headers.
header_address: u64Address of the mapped image header (PE image base, Mach-O
mach_header). Zero for ELF, which reports mapped ranges instead.
image_size: u64Mapped image size the loader reports (PE SizeOfImage); zero elsewhere.
slide: i64dyld’s virtual-memory slide for a Mach-O image; zero elsewhere.
path: Option<String>Path of the image on disk, when the loader reports one.
mapped_ranges: Vec<Range<u64>>File-backed mappings of this image, sorted by start address (ELF).
executable_ranges: Vec<Range<u64>>The subset of mapped_ranges whose protection permits execution (ELF).
elf_load_bias: Option<u64>dl_iterate_phdr load bias of the loaded object overlapping
mapped_ranges, when that object carries a GNU build id (ELF).
build_id: Option<Vec<u8>>GNU build id read from that loaded object’s mapped PT_NOTE (ELF).
Trait Implementations§
Source§impl Clone for LoadedImage
impl Clone for LoadedImage
Auto Trait Implementations§
impl Freeze for LoadedImage
impl RefUnwindSafe for LoadedImage
impl Send for LoadedImage
impl Sync for LoadedImage
impl Unpin for LoadedImage
impl UnsafeUnpin for LoadedImage
impl UnwindSafe for LoadedImage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more