gimli-rs / locate-dwarf Goto Github PK
View Code? Open in Web Editor NEWA crate to find DWARF debug symbols from stripped binaries
License: Other
A crate to find DWARF debug symbols from stripped binaries
License: Other
Useful info:
Looks like we want the contents of the .gnu_debuglink
section, and we probably want to validate the CRC too. It seems like maybe we can call out to the find-debuginfo.sh
script?
For MacOS, there doesn't seem to be a section linking to the proper .dSYM bundle. It seems like dsymutil
generates these bundles. Perhaps we will just have to rely on the .dSYM bundle being where we expect it to be?
I realize this crate is called "locate-dwarf" but I'd love to add support for finding a PDB based on a PE. Is that something you'd be open to?
Lines 60 to 68 in 9824c52
When running on a file with the path "/Users/mstange/code/socc-pair/target/bin-deps/bin/minidump-stackwalk", we set target_channel_dir
to "/Users/mstange/code/socc-pair/target/bin-deps/" and then panic because this directory does not have "deps" or "examples" subdirectories.
Now that Travis CI has ended their free tier, CI should migrate to GitHub Actions. The actions-rs
quickstart example is probably a good place to start.
I have to run locate_debug_symbols
in a spin loop, because it takes quite a time for spotlight to index it. I have even got >60s several times.
I don't know why I used CoreFoundation-sys
https://crates.io/crates/CoreFoundation-sys except that maybe it was the first thing I found? Servo has a core-foundation
crate that wraps things in a slightly higher-level API which provides a Drop
implementation and should make the existing code in moria
much simpler: https://crates.io/crates/core-foundation .
Here's a list I dropped in the initial PR:
object
crateI'm trying to integrate locate-dwarf
into my own crate but the usage of anyhow
has made it difficult for me to make decisions based on the errors returned. For example, I want to take a different action if an io error occurred in locate_debug_symbols
versus if there is no debug pointer to be found.
I'd be willing to change this crate to use thiserror
if you are open to it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.