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.
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(data)) if data.function => {
println!("{:x}:{:08x} is {}", data.segment, data.offset, symbol.name()?);
}
_ => {}
}
}
Returns an iterator that can traverse the symbol table in sequential order.
Formats the value using the given formatter. Read more