impl core::fmt::Display for PeUnwinderError { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { matchself { Self::MissingUnwindInfoData(rva) => {
write!(f, "failed to read unwind info memory at RVA {rva:x}")
} Self::MissingInstructionData(rva) => {
write!(f, "failed to read instruction memory at RVA {rva:x}")
} Self::MissingStackData(addr) => {
write!(f, "failed to read stack")?; iflet Some(addr) = addr {
write!(f, " at address {addr:x}")?;
}
Ok(())
} Self::UnwindInfoParseError => write!(f, "failed to parse UnwindInfo"), Self::Aarch64Unsupported => write!(f, "AArch64 is not yet supported"),
}
}
}
#[cfg(feature = "std")] impl std::error::Error for PeUnwinderError {}
/// Data and the related RVA range within the binary. /// /// This is only used by PE unwinding. /// /// Type arguments: /// - `D`: The type for unwind section data. This allows carrying owned data on the /// module, e.g. `Vec<u8>`. But it could also be a wrapper around mapped memory from /// a file or a different process, for example. It just needs to provide a slice of /// bytes via its `Deref` implementation. pubstruct DataAtRvaRange<D> { pub data: D, pub rva_range: Range<u32>,
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.