pub struct CfiCache<'a> { /* private fields */ }Expand description
A cache file for call frame information (CFI).
The default way to use this cache is to construct it from an Object and save it to a file.
Then, load it from the file and pass it to the minidump processor.
use std::fs::File;
use symbolic_common::ByteView;
use symbolic_debuginfo::Object;
use symbolic_cfi::CfiCache;
let view = ByteView::open("/path/to/object")?;
let object = Object::parse(&view)?;
let cache = CfiCache::from_object(&object)?;
cache.write_to(File::create("my.cficache")?)?;use symbolic_common::ByteView;
use symbolic_cfi::CfiCache;
let view = ByteView::open("my.cficache")?;
let cache = CfiCache::from_bytes(view)?;Implementations§
Source§impl CfiCache<'static>
impl CfiCache<'static>
Sourcepub fn from_object(object: &Object<'_>) -> Result<Self, CfiError>
pub fn from_object(object: &Object<'_>) -> Result<Self, CfiError>
Construct a CFI cache from an Object.
Auto Trait Implementations§
impl<'a> Freeze for CfiCache<'a>
impl<'a> RefUnwindSafe for CfiCache<'a>
impl<'a> Send for CfiCache<'a>
impl<'a> Sync for CfiCache<'a>
impl<'a> Unpin for CfiCache<'a>
impl<'a> UnwindSafe for CfiCache<'a>
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
Mutably borrows from an owned value. Read more
Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
Source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
Source§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more