pub enum InstructionAddrAdjustment {
Auto,
AllButFirst,
All,
None,
Unknown(String),
}
Expand description
Controls the mechanism by which the instruction_addr
of a Stacktrace
Frame
is adjusted.
The adjustment tries to transform return addresses to call addresses for symbolication. Typically, this adjustment needs to be done for all frames but the first, as the first frame is usually taken directly from the cpu context of a hardware exception or a suspended thread and the stack trace is created from that.
When the stack walking implementation truncates frames from the top, "all"
frames should be
adjusted. In case the stack walking implementation already does the adjustment when producing
stack frames, "none"
should be used here.
Variants§
Auto
The default. Applies a heuristic based on other event / exception attributes.
AllButFirst
All but the first frame needs to be adjusted. The first frame’s address is not a return address, but points directly to the faulty instruction.
All
All frames should be adjusted, for example because the stack walking implementation truncated frames from the top of the stack, and all remaining frames’ addresses are return addresses.
None
The stack walking implementation already provides correct addresses and no adjustment should be performed when symbolicating.
Unknown(String)
Any other unknown adjustment strategy.
This exists to ensure forward compatibility.
Implementations§
Trait Implementations§
Source§impl Clone for InstructionAddrAdjustment
impl Clone for InstructionAddrAdjustment
Source§fn clone(&self) -> InstructionAddrAdjustment
fn clone(&self) -> InstructionAddrAdjustment
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more