pub struct DebugInfo<'a> { /* private fields */ }
Expand description
Main interface over a PDB.
One can instantiate this structure with crate::pdb::load
,
DebugInfo::from
or using crate::generic::Binary::debug_info
.
Implementations§
§impl DebugInfo<'_>
impl DebugInfo<'_>
pub fn compilation_units(&self) -> CompilationUnits<'_> ⓘ
pub fn compilation_units(&self) -> CompilationUnits<'_> ⓘ
Iterator over the CompilationUnit from the PDB’s DBI stream.
crate::pdb::CompilationUnit
are also named “Module” in the PDB’s official documentation
pub fn public_symbols(&self) -> PublicSymbols<'_> ⓘ
pub fn public_symbols(&self) -> PublicSymbols<'_> ⓘ
Return an iterator over the public symbol stream (PublicSymbol
)
pub fn public_symbol_by_name(&self, name: &str) -> Option<PublicSymbol<'_>>
pub fn public_symbol_by_name(&self, name: &str) -> Option<PublicSymbol<'_>>
Try to find the PublicSymbol
from the given name (based on the public symbol stream)
if let Some(symbol) = info.public_symbol_by_name("MiSyncSystemPdes") {
// FOUND!
}
pub fn types(&self) -> Types<'_> ⓘ
pub fn types(&self) -> Types<'_> ⓘ
Return an iterator over the different crate::pdb::Type
registered for this PDB file
pub fn type_by_name(&self, name: &str) -> Option<Type<'_>>
pub fn type_by_name(&self, name: &str) -> Option<Type<'_>>
Try to find the type with the given name
Trait Implementations§
Auto Trait Implementations§
impl<'a> RefUnwindSafe for DebugInfo<'a>
impl<'a> !Send for DebugInfo<'a>
impl<'a> !Sync for DebugInfo<'a>
impl<'a> Unpin for DebugInfo<'a>
impl<'a> UnwindSafe for DebugInfo<'a>
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