simple-frame-rs 0.3.0

Parse SFrame (Simple Frame) stack trace information
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use object::{Object, ObjectSection};
use simple_frame_rs::SFrameSection;

fn main() -> anyhow::Result<()> {
    for arg in std::env::args().skip(1) {
        let data = std::fs::read(arg)?;
        let file = object::File::parse(&*data)?;
        for section in file.sections() {
            if section.name()? == ".sframe" {
                let section_base = section.address();
                let content = section.data()?;
                let parsed = SFrameSection::from(content, section_base)?;
                println!("{}", parsed.to_string()?)
            }
        }
    }
    Ok(())
}