7 releases

Uses old Rust 2015

0.2.7 Oct 11, 2019
0.2.6 Jul 3, 2019
0.2.5 Feb 20, 2019
0.2.1 Nov 30, 2018

#13 in #abandoned

MIT/Apache

205KB
3.5K SLoC

Abandoned

Use pdb


lib.rs:

The pdb create parses Microsoft PDB (Program Database) files. PDB files contain debugging information produced by most compilers that target Windows, including information about symbols, types, modules, and so on.

Usage

PDB files are accessed via the pdb::PDB object.

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()?);
            # count += 1;
    	}
    	_ => {}
    }
}

Dependencies

~2.5MB
~53K SLoC