Crate pdb [−] [src]
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.
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()?); } _ => {} } }
Reexports
pub use fallible_iterator::FallibleIterator; |
Structs
DebugInformation |
Provides access to the "DBI" stream inside the PDB. |
FieldAttributes | |
FunctionAttributes | |
PDB |
|
RawString |
RawString refers to a &[u8] that physically resides somewhere inside a PDB data structure. It may not be valid UTF-8. |
SourceSlice |
Represents an offset + size of the source file. |
Symbol |
Represents a Symbol from the symbol table. A Symbol is been minimally processed, and may not be correctly formed or even understood by this library. |
SymbolIter |
A |
SymbolTable |
PDB symbol tables contain names, locations, and metadata about functions, global/static data, constants, data types, and more. |
Type |
Represents a type from the type table. A |
TypeFinder |
A |
TypeInformation |
|
TypeIter |
A |
Enums
ClassKind |
Used by |
EnumValue | |
Error |
An error that occurred while reading or parsing the PDB. |
Indirection | |
PrimitiveType | |
SymbolData |
SymbolData contains the information parsed from a symbol record. |
TypeData |
Encapsulates parsed data about a |
Traits
Source |
|
SourceView |
An owned, droppable, read-only view of the source file which can be referenced as a byte slice. |
Type Definitions
Result | |
TypeIndex |
TypeIndex refers to a type somewhere in |