Struct pdb::SymbolTable [] [src]

pub struct SymbolTable<'t> { /* fields omitted */ }

PDB symbol tables contain names, locations, and metadata about functions, global/static data, constants, data types, and more.

The SymbolTable holds a SourceView referencing the symbol table inside the PDB file. All the data structures returned by a SymbolTable refer to that buffer.

Example

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

let symbol_table = pdb.global_symbols()?;

let mut symbols = symbol_table.iter();
while let Some(symbol) = symbols.next()? {
    match symbol.parse() {
        Ok(pdb::SymbolData::PublicSymbol{
            function: true,
            segment,
            offset,
            ..
        }) => {
            // we found the location of a function!
            println!("{:x}:{:08x} is {}", segment, offset, symbol.name()?);
        }
        _ => {}
    }
}

Methods

impl<'t> SymbolTable<'t>
[src]

Returns an iterator that can traverse the symbol table in sequential order.

Trait Implementations

impl<'t> Debug for SymbolTable<'t>
[src]

Formats the value using the given formatter.