Struct pdb::DebugInformation[][src]

pub struct DebugInformation<'s> { /* fields omitted */ }

Provides access to the “DBI” stream inside the PDB.

This is only minimally implemented; it’s really just so PDB can find the global symbol table.

Example

let file = std::fs::File::open("fixtures/self/foo.pdb")?;
let mut pdb = pdb::PDB::open(file)?;

let dbi = pdb.debug_information()?;

let mut modules = dbi.modules()?;
while let Some(module) = modules.next()? {
    println!("module name: {}, object file name: {}",
             module.module_name(), module.object_file_name());
}

Implementations

impl<'s> DebugInformation<'s>[src]

pub fn machine_type(&self) -> Result<MachineType>[src]

Returns the target’s machine type (architecture).

pub fn age(&self) -> Option<u32>[src]

Returns this PDB’s original age.

This number is written by the linker and should be equal to the image’s age value. In contrast, PDBInformation::age may be bumped by other tools and should be greater or equal to the image’s age value.

Old PDB files may not specify an age, in which case only PDBInformation::age should be checked for matching the image.

pub fn modules(&self) -> Result<ModuleIter<'_>>[src]

Returns an iterator that can traverse the modules list in sequential order.

pub fn section_contributions(&self) -> Result<DBISectionContributionIter<'_>>[src]

Returns an iterator that can traverse the section contributions list in sequential order.

Trait Implementations

impl<'s> Debug for DebugInformation<'s>[src]

Auto Trait Implementations

impl<'s> !RefUnwindSafe for DebugInformation<'s>

impl<'s> !Send for DebugInformation<'s>

impl<'s> !Sync for DebugInformation<'s>

impl<'s> Unpin for DebugInformation<'s>

impl<'s> !UnwindSafe for DebugInformation<'s>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.