pub struct SymbolTable<'t> { /* private fields */ }Expand description
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(data)) if data.function => {
// we found the location of a function!
println!("{:x}:{:08x} is {}", data.segment, data.offset, symbol.name()?);
}
_ => {}
}
}
Implementations§
Source§impl<'t> SymbolTable<'t>
impl<'t> SymbolTable<'t>
Sourcepub fn iter(&self) -> SymbolIter<'_>
pub fn iter(&self) -> SymbolIter<'_>
Returns an iterator that can traverse the symbol table in sequential order.
Trait Implementations§
Auto Trait Implementations§
impl<'t> Freeze for SymbolTable<'t>
impl<'t> !RefUnwindSafe for SymbolTable<'t>
impl<'t> !Send for SymbolTable<'t>
impl<'t> !Sync for SymbolTable<'t>
impl<'t> Unpin for SymbolTable<'t>
impl<'t> !UnwindSafe for SymbolTable<'t>
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