[−]Struct symbolic::debuginfo::pdb::pdb::Rva
A Relative Virtual Address as it appears in a PE file.
RVAs are always relative to the image base address, as it is loaded into process memory. This address is reported by debuggers in stack traces and may refer to symbols or instruction pointers.
Implementations
impl Rva
pub fn to_internal_rva(
self,
translator: &AddressMap<'_>
) -> Option<PdbInternalRva>
self,
translator: &AddressMap<'_>
) -> Option<PdbInternalRva>
Resolves a PDB-internal Relative Virtual Address.
This address is not necessarily compatible with the executable's address space and should therefore not be used for debugging purposes.
pub fn to_section_offset(
self,
translator: &AddressMap<'_>
) -> Option<SectionOffset>
self,
translator: &AddressMap<'_>
) -> Option<SectionOffset>
Resolves the section offset in the PE headers.
This is an offset into PE section headers of the executable. To retrieve section offsets
used in the PDB, use to_internal_offset
instead.
pub fn to_internal_offset(
self,
translator: &AddressMap<'_>
) -> Option<PdbInternalSectionOffset>
self,
translator: &AddressMap<'_>
) -> Option<PdbInternalSectionOffset>
Resolves the PDB internal section offset.
This is the offset value used in the PDB file. To index into the actual PE section headers,
use to_section_offset
instead.
impl Rva
pub fn checked_add(self, offset: u32) -> Option<Rva>
Checked addition of an offset. Returns None
if overflow occurred.
pub fn checked_sub(self, other: Rva) -> Option<u32>
Checked computation of an offset between two addresses. Returns None
if other
is
larger.
pub fn saturating_add(self, offset: u32) -> Rva
Saturating addition of an offset, clipped at the numeric bounds.
pub fn saturating_sub(self, other: Rva) -> u32
Saturating computation of an offset between two addresses, clipped at zero.
pub fn wrapping_add(self, offset: u32) -> Rva
Wrapping (modular) addition of an offset.
pub fn wrapping_sub(self, other: Rva) -> u32
Wrapping (modular) computation of an offset between two addresses.
Trait Implementations
impl Add<u32> for Rva
type Output = Rva
The resulting type after applying the +
operator.
pub fn add(self, offset: u32) -> Rva
Adds the given offset to this address.
impl AddAssign<u32> for Rva
pub fn add_assign(&mut self, offset: u32)
Adds the given offset to this address.
impl Clone for Rva
pub fn clone(&self) -> Rva
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Rva
impl Debug for Rva
impl Default for Rva
impl Display for Rva
impl Eq for Rva
impl From<u32> for Rva
impl Hash for Rva
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Rva
pub fn cmp(&self, other: &Rva) -> Ordering
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<Rva> for Rva
impl PartialOrd<Rva> for Rva
pub fn partial_cmp(&self, other: &Rva) -> Option<Ordering>
pub fn lt(&self, other: &Rva) -> bool
pub fn le(&self, other: &Rva) -> bool
pub fn gt(&self, other: &Rva) -> bool
pub fn ge(&self, other: &Rva) -> bool
impl StructuralEq for Rva
impl StructuralPartialEq for Rva
impl Sub<Rva> for Rva
Auto Trait Implementations
impl RefUnwindSafe for Rva
[src]
impl Send for Rva
[src]
impl Sync for Rva
[src]
impl Unpin for Rva
[src]
impl UnwindSafe for Rva
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> RuleType for T where
T: Eq + Ord + Copy + Debug + Hash,
[src]
T: Eq + Ord + Copy + Debug + Hash,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,