pub struct Symbol<'a> { /* private fields */ }
Expand description
Structure that represents a PE-COFF symbol.
Usually PE debug information (including symbols) are wrapped in a PDB file referenced by the CodeViewPDB object.
The PE format allows to define (by COFF inheritance) a symbol table that is different from the regular PDB symbols. This table contains COFF(16) symbols which can reference auxiliary symbols.
Warning: The crate::generic::Symbol::value
should be interpreted in perspective of
the Symbol::storage_class
.
Reference: https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#coff-symbol-table
Implementations§
§impl Symbol<'_>
impl Symbol<'_>
pub fn auxiliary_symbols(&self) -> ItAuxiliarySymbols<'_> ⓘ
pub fn auxiliary_symbols(&self) -> ItAuxiliarySymbols<'_> ⓘ
Auxiliary symbols associated with this symbol.
pub fn storage_class(&self) -> StorageClass
pub fn storage_class(&self) -> StorageClass
Storage class of the symbol which indicates what kind of definition a symbol represents.
pub fn complex_type(&self) -> ComplexType
pub fn complex_type(&self) -> ComplexType
The complex type (if any)
pub fn section_idx(&self) -> i16
pub fn section_idx(&self) -> i16
The signed integer that identifies the section, using a one-based index into the section table. Some values have special meaning:
- 0: The symbol record is not yet assigned a section. A value of zero indicates that a reference to an external symbol is defined elsewhere. A value of non-zero is a common symbol with a size that is specified by the value.
- -1: The symbol has an absolute (non-relocatable) value and is not an address.
- -2: The symbol provides general type or debugging information but does
not correspond to a section. Microsoft tools use this setting along
with
.file
records