atosl-0.1.14 is not a library.
Visit the last successful build:
atosl-0.1.17
atosl-rs
A practical Rust CLI for symbolication.
atosl resolves memory addresses to function names and source locations from binaries with symbols/DWARF.
Why atosl
Apple's atos is handy, but not always available or convenient in cross-platform workflows.
atosl provides a lightweight alternative for address-to-symbol resolution with a simple CLI.
Features
- Resolve one or more addresses to symbols
- Use Mach-O symbol table and DWARF debug info
- Support file-offset mode (
-f) - Select architecture/UUID for fat Mach-O binaries
- Verbose mode for debugging symbolication failures
- Works with Rust-supported platforms (tooling/build environment dependent)
Installation
From crates.io
From source
Binary path:
Quick Start
Output shape:
<symbol> (in <binary>) (<file>:<line>)
Usage
Required arguments:
-o <OBJECT_PATH>: binary or symbol file path-l <LOAD_ADDRESS>: load address (0x...hex or decimal)[ADDRESSES]...: one or more addresses to symbolize
Options:
-f: treat addresses as file offsets-v: verbose diagnostics-a, --arch <ARCH>: choose architecture in fat Mach-O (arm64,arm64e,armv7,x86_64,i386, ...)--uuid <UUID>: choose Mach-O slice by UUID (with or without hyphens)
Examples
Resolve multiple addresses:
Use file-offset mode:
Select a fat Mach-O slice by architecture:
Select a fat Mach-O slice by UUID:
Troubleshooting
N/A - no symbols: binary may be stripped or missing debug sections- Unexpected source location: verify the load address is correct for the running image
- Wrong symbol on fat binaries: specify
--archor--uuidexplicitly
Development
Known Limitations
- Not a full 1:1 clone of Apple's
atos - Final accuracy depends on symbol and DWARF quality in the input binary
Star History
Contributing
Issues and pull requests are welcome.
License
MIT. See LICENSE.