Struct pdb_addr2line::Context [−][src]
pub struct Context<'a: 't, 's, 't> { /* fields omitted */ }
Expand description
The main API of this crate. Resolves addresses to function information.
Implementations
pub fn new_from_parts(
address_map: &'a AddressMap<'s>,
global_symbols: &'a SymbolTable<'s>,
string_table: Option<&'a StringTable<'s>>,
modules: &'a [ModuleInfo<'s>],
type_formatter: MaybeOwned<'a, TypeFormatter<'t>>
) -> Result<Self>
[src]
pub fn new_from_parts(
address_map: &'a AddressMap<'s>,
global_symbols: &'a SymbolTable<'s>,
string_table: Option<&'a StringTable<'s>>,
modules: &'a [ModuleInfo<'s>],
type_formatter: MaybeOwned<'a, TypeFormatter<'t>>
) -> Result<Self>
[src]Create a Context
manually. Most consumers will want to use
ContextPdbData::make_context
instead.
However, if you interact with a PDB directly and parse some of its contents for other uses, you may want to call this method in order to avoid overhead from repeatedly parsing the same streams.
The number of functions found in the modules. If the PDB file lists multiple functions sharing the same rva range, the shared range is only counted as one function. In other words, this count is post-deduplication.
pub fn functions(&self) -> FunctionIter<'_, 'a, 's, 't>ⓘNotable traits for FunctionIter<'c, 'a, 's, 't>
impl<'c, 'a, 's, 't> Iterator for FunctionIter<'c, 'a, 's, 't> type Item = Function;
[src]
pub fn functions(&self) -> FunctionIter<'_, 'a, 's, 't>ⓘNotable traits for FunctionIter<'c, 'a, 's, 't>
impl<'c, 'a, 's, 't> Iterator for FunctionIter<'c, 'a, 's, 't> type Item = Function;
[src]Iterate over all functions in the modules.
Find the function whose code contains the provided address. The return value only contains the function name and the rva range, but no file or line information.
Find information about the source code which generated the instruction at the provided address. This information includes the function name, file name and line number, of the containing procedure and of any functions that were inlined into the procedure by the compiler, at that address.
A lot of information is cached so that repeated calls are fast.
Auto Trait Implementations
impl<'a, 's, 't> !RefUnwindSafe for Context<'a, 's, 't>
impl<'a, 's, 't> !UnwindSafe for Context<'a, 's, 't>