Tangentially related, but recently I've come across a SYM debugging symbols file for a PlayStation game without its matching executable. I had another, more recent executable that wasn't a perfect match for the SYM file, so I couldn't directly make use of it.
I've ended up doing the following to leverage that SYM file:
- build a placeholder ELF program by hand in the shape of the missing executable, but with all sections being NOBITS
- import this placeholder program into Ghidra
- write a Ghidra script to layer the information inside the SYM file on top of the placeholder program
- perform a version tracking session from the placeholder to the real executable, to port the debugging information onto a tangible artifact
My point is, have you thought about the capability to view a debugging data file without having the executable file? This use-case is admittedly a bit fringe, but it can happen with split executable/debug files.
This is a practical tool. Does it support source code searching and function locating?
Cool project! What's the state of DWARF 5 support?
Looks awesome. I hope you could find a way to make LLDB usable with Rust.
The name of the project means dick in french.
[dead]
I'm fascinated that this apparently supports Itanium.
I went straight to your Arm instruction disassembly because I’ve been writing one too; did you consider using a data structure like a trie rather than deeply nested conditionals? Any particular reason for one vs the other?