16 releases
| 0.1.14 | Jan 29, 2026 |
|---|---|
| 0.1.12 | Sep 23, 2025 |
| 0.1.10 | Jun 24, 2025 |
| 0.1.9 | Mar 18, 2025 |
| 0.1.1 | Nov 29, 2023 |
#244 in Debugging
1MB
18K
SLoC
blazecli
blazecli is a command line interface for the blazesym library. It aims to closely mirror the structure of the library in its command and sub-command structure.
Usage
As mentioned above, the program's sub-command aim to mirror the
library's public API structure. Hence, to symbolize an address in an ELF
file -- which blazesym allows via the
symbolize::Symbolizer type in conjunction with the
Elf source -- is possible via the symbolize elf
sub-command:
# Just an example to illustrate symbolization on live data.
$ readelf --syms /lib64/libc.so.6 --wide | grep readdir64_r
> 2253: 00000000000caee0 228 FUNC WEAK DEFAULT 12 readdir64_r@@GLIBC_2.2.5
$ blazecli symbolize elf --path /lib64/libc.so.6 00000000000caee0
> 0xcaee0: readdir_r@0xcaee0+0 :0
To run the program from within a checkout (without any kind of installation), you would use:
$ cargo run -p blazecli -- symbolize elf --path /lib64/libc.so.6 00000000000caee0
Similarly, to symbolize an address inside a process the symbolize process sub-command can be used. Please refer to the program's help
text for additional details.
Pre-built, statically linked binaries for various target triples are available on-demand here as well as attached to each published release.
Shell Completion
blazecli comes with shell completion support (for various shells). A
completion script can be generated via the shell-complete utility
program and then only needs to be sourced to make the current shell
provide context-sensitive tab completion support. E.g.,
$ cargo run -p blazecli --bin=shell-complete --features="clap_complete" -- bash > blazecli.bash
$ source blazecli.bash
The generated completion script can be installed system-wide and sourced
through initialization files, such as ~/.bashrc.
Completion scripts for other shells work in a similar manner. Please
refer to the help text (--help) of the shell-complete program for
the list of supported shells.
Dependencies
~19MB
~263K SLoC