pub struct DebugInfo { /* private fields */ }
Expand description

Provides an interface to both provide and query debug info. The DebugInfo object is used internally by the binary view to which it is applied to determine the attributes of functions, types, and variables that would otherwise be costly to deduce.

DebugInfo objects themselves are independent of binary views; their data can be sourced from any arbitrary binary views and be applied to any other arbitrary binary view. A DebugInfo object can also contain debug info from multiple DebugInfoParsers. This makes it possible to gather debug info that may be distributed across several different formats and files.

DebugInfo cannot be instantiated by the user, instead get it from either the binary view (see binaryninja::binaryview::BinaryView::debug_info) or a debug-info parser (see binaryninja::debuginfo::DebugInfoParser::parse_debug_info).

Please note that calling one of add_* functions will not work outside of a debuginfo plugin.

Implementations

Returns a generator of all types provided by a named DebugInfoParser

A generator of all types provided by DebugInfoParsers

Returns a generator of all functions provided by a named DebugInfoParser

A generator of all functions provided by DebugInfoParsers

Returns a generator of all data variables provided by a named DebugInfoParser

A generator of all data variables provided by DebugInfoParsers

May return nullptr

The tuple is (DebugInfoParserName, TypeName, type)

Adds a type scoped under the current parser’s name to the debug info

Adds a function scoped under the current parser’s name to the debug info

Adds a data variable scoped under the current parser’s name to the debug info

Trait Implementations

Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.