#[non_exhaustive]pub enum Error {
Show 76 variants
Io,
PcRelativePointerButSectionBaseIsUndefined,
TextRelativePointerButTextBaseIsUndefined,
DataRelativePointerButDataBaseIsUndefined,
FuncRelativePointerInBadContext,
CannotParseOmitPointerEncoding,
BadUnsignedLeb128,
BadSignedLeb128,
AbbreviationTagZero,
AttributeNameZero,
AttributeFormZero,
InvalidAbbreviationChildren(DwChildren),
UnknownForm(DwForm),
DuplicateAbbreviationCode(u64),
UnknownReservedLength(u32),
UnknownVersion(u64),
InvalidAbbreviationCode(u64),
UnexpectedEof(ReaderOffsetId),
UnknownLocListsEntry(DwLle),
UnknownRangeListsEntry(DwRle),
UnsupportedAddressSize(u8),
UnsupportedOffsetSize(u8),
MinimumInstructionLengthZero,
MaximumOperationsPerInstructionZero,
LineRangeZero,
OpcodeBaseZero,
BadUtf8,
NotCieId(u64),
NotCiePointer(u64),
BadBranchTarget(u64),
InvalidPushObjectAddress,
NotEnoughStackItems,
TooManyIterations,
InvalidExpression(DwOp),
UnsupportedEvaluation,
InvalidPiece,
InvalidExpressionTerminator(u64),
DivisionByZero,
TypeMismatch,
IntegralTypeRequired,
UnsupportedTypeOperation,
InvalidShiftExpression,
InvalidDerefSize(u8),
UnknownCallFrameInstruction(DwCfa),
InvalidCfiSetLoc(u64),
AddressOverflow,
CfiInstructionInInvalidContext,
PopWithEmptyStack,
NoUnwindInfoForAddress,
UnsupportedOffset,
UnknownPointerEncoding(DwEhPe),
NoEntryAtGivenOffset(u64),
OffsetOutOfBounds(u64),
UnknownAugmentation,
UnsupportedPointerEncoding(DwEhPe),
UnsupportedIndirectPointer,
UnsupportedRegister(u64),
TooManyRegisterRules,
StackFull,
UnknownUnitType(DwUt),
UnsupportedSegmentSize(u8),
MissingUnitDie,
MissingSplitUnit,
UnsupportedAttributeForm(DwForm),
MissingFileEntryFormatPath,
ExpectedStringAttributeValue,
InvalidImplicitConst,
UnsupportedIndexSectionCount(u32),
InvalidIndexSlotCount(u32),
InvalidIndexRow(u32),
UnknownIndexSection(DwSect),
UnknownIndexSectionV2(DwSectV2),
InvalidMacinfoType(DwMacinfo),
InvalidMacroType(DwMacro),
UnsupportedOpcodeOperandsTable,
InvalidNameAttributeIndex(u64),
}Expand description
An error that occurred when parsing.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Io
An I/O error occurred while reading.
PcRelativePointerButSectionBaseIsUndefined
Found a PC relative pointer, but the section base is undefined.
TextRelativePointerButTextBaseIsUndefined
Found a .text relative pointer, but the .text base is undefined.
DataRelativePointerButDataBaseIsUndefined
Found a data relative pointer, but the data base is undefined.
FuncRelativePointerInBadContext
Found a function relative pointer in a context that does not have a function base.
CannotParseOmitPointerEncoding
Cannot parse a pointer with a DW_EH_PE_omit encoding.
BadUnsignedLeb128
An error parsing an unsigned LEB128 value.
BadSignedLeb128
An error parsing a signed LEB128 value.
AbbreviationTagZero
An abbreviation declared that its tag is zero, but zero is reserved for null records.
AttributeNameZero
An attribute specification declared that its name is zero, but zero is reserved for null records.
AttributeFormZero
An attribute specification declared that its form is zero, but zero is reserved for null records.
InvalidAbbreviationChildren(DwChildren)
The abbreviation’s has-children byte was not one of
DW_CHILDREN_{yes,no}.
UnknownForm(DwForm)
Found an unknown DW_FORM_* type.
DuplicateAbbreviationCode(u64)
Found an abbreviation code that has already been used.
UnknownReservedLength(u32)
Found an unknown reserved length value.
UnknownVersion(u64)
Found an unknown DWARF version.
InvalidAbbreviationCode(u64)
Found an entry with an invalid abbreviation code.
UnexpectedEof(ReaderOffsetId)
Hit the end of input before it was expected.
UnknownLocListsEntry(DwLle)
Found an unknown location-lists format.
UnknownRangeListsEntry(DwRle)
Found an unknown range-lists format.
UnsupportedAddressSize(u8)
The specified address size is not supported.
UnsupportedOffsetSize(u8)
The specified offset size is not supported.
MinimumInstructionLengthZero
The minimum instruction length must not be zero.
MaximumOperationsPerInstructionZero
The maximum operations per instruction must not be zero.
LineRangeZero
The line range must not be zero.
OpcodeBaseZero
The opcode base must not be zero.
BadUtf8
Found an invalid UTF-8 string.
NotCieId(u64)
Expected to find the CIE ID, but found something else.
NotCiePointer(u64)
Expected to find a pointer to a CIE, but found the CIE ID instead.
BadBranchTarget(u64)
Invalid branch target for a DW_OP_bra or DW_OP_skip.
InvalidPushObjectAddress
DW_OP_push_object_address used but no address passed in.
NotEnoughStackItems
Not enough items on the stack when evaluating an expression.
TooManyIterations
Too many iterations to compute the expression.
InvalidExpression(DwOp)
An unrecognized operation was found while parsing a DWARF expression.
UnsupportedEvaluation
An unsupported operation was found while evaluating a DWARF expression.
InvalidPiece
The expression had a piece followed by an expression terminator without a piece.
InvalidExpressionTerminator(u64)
An expression-terminating operation was followed by something other than the end of the expression or a piece operation.
DivisionByZero
Division or modulus by zero when evaluating an expression.
TypeMismatch
An expression operation used mismatching types.
IntegralTypeRequired
An expression operation required an integral type but saw a floating point type.
UnsupportedTypeOperation
An expression operation used types that are not supported.
InvalidShiftExpression
The shift value in an expression must be a non-negative integer.
InvalidDerefSize(u8)
The size of a deref expression must not be larger than the size of an address.
UnknownCallFrameInstruction(DwCfa)
An unknown DW_CFA_* instruction.
InvalidCfiSetLoc(u64)
A DW_CFA_set_loc instruction moved the address backward.
AddressOverflow
An address calculation overflowed.
This is returned in cases where the address is expected to be larger than a previous address, but the calculation overflowed.
CfiInstructionInInvalidContext
Encountered a call frame instruction in a context in which it is not valid.
PopWithEmptyStack
When evaluating call frame instructions, found a DW_CFA_restore_state
stack pop instruction, but the stack was empty, and had nothing to pop.
NoUnwindInfoForAddress
Do not have unwind info for the given address.
UnsupportedOffset
An offset value was larger than the maximum supported value.
UnknownPointerEncoding(DwEhPe)
The given pointer encoding is either unknown or invalid.
NoEntryAtGivenOffset(u64)
Did not find an entry at the given offset.
OffsetOutOfBounds(u64)
The given offset is out of bounds.
UnknownAugmentation
Found an unknown CFI augmentation.
UnsupportedPointerEncoding(DwEhPe)
We do not support the given pointer encoding yet.
UnsupportedIndirectPointer
We do not support dereferencing indirect pointers.
UnsupportedRegister(u64)
Registers larger than u16 are not supported.
TooManyRegisterRules
The CFI program defined more register rules than we have storage for.
StackFull
Attempted to push onto the CFI or evaluation stack, but it was already at full capacity.
UnknownUnitType(DwUt)
The DW_UT_* value for this unit is not supported yet.
UnsupportedSegmentSize(u8)
Nonzero segment selector sizes aren’t supported yet.
MissingUnitDie
A compilation unit or type unit is missing its top level DIE.
MissingSplitUnit
A split DWARF section does not contain the split compilation unit.
UnsupportedAttributeForm(DwForm)
A DIE attribute used an unsupported form.
MissingFileEntryFormatPath
Missing DW_LNCT_path in file entry format.
ExpectedStringAttributeValue
Expected an attribute value to be a string form.
InvalidImplicitConst
An attribute with an indirect form cannot use DW_FORM_implicit_const.
UnsupportedIndexSectionCount(u32)
Invalid section count in .dwp index.
InvalidIndexSlotCount(u32)
Invalid slot count in .dwp index.
InvalidIndexRow(u32)
Invalid row index in .dwp index.
UnknownIndexSection(DwSect)
Unknown section type in .dwp index.
UnknownIndexSectionV2(DwSectV2)
Unknown section type in version 2 .dwp index.
InvalidMacinfoType(DwMacinfo)
Invalid macinfo type in .debug_macinfo.
InvalidMacroType(DwMacro)
Invalid macro type in .debug_macro.
UnsupportedOpcodeOperandsTable
The optional opcode_operands_table in .debug_macro is currently not supported.
InvalidNameAttributeIndex(u64)
Invalid index in a .debug_names attribute value.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for ConvertError
impl From<Error> for ConvertError
impl Copy for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.