elf_symbols/README.md

76 lines
2.0 KiB
Markdown
Raw Normal View History

# Why ?
As an attempt to provide similar functionality as Vector CanApe does.
But only **ONE** instance of CanApe can be running at the computer and
trying to load different ELF file to inspect variables is a pain and
can easily result in broken project, workflow or headache.
# Usage
```bash
usage: main.py [-h] [--include-file-name] [--version] [file]
Expands symbols (global variables) types.
positional arguments:
file ELF file to try to extract symbols
options:
-h, --help show this help message and exit
--include-file-name Display filename at the beginning
--version show program's version number and exit
Data displayed by this script are informative only!
```
## Output
```bash
> python main.py ../Playground_C/build/playground_c
0x4030 my_stuff
0x4030 my_stuff.first
0x4030 my_stuff.first.number_1
0x4038 my_stuff.first.number_2
0x403c my_stuff.first.number_3
0x403e my_stuff.first.number_4
0x403f my_stuff.first.number_5
0x4040 my_stuff.second
0x4038 my_little_stuff
0x4038 my_little_stuff.one
0x4038 my_little_stuff.two
0x4040 my_small_stuff
0x4040 my_small_stuff.one
0x4040 my_small_stuff.one[0]
...
0x4057 my_small_stuff.one[23]
0x4040 my_small_stuff.structure
0x4040 my_small_stuff.structure.first
0x4040 my_small_stuff.structure.first.number_1
0x4048 my_small_stuff.structure.first.number_2
0x404c my_small_stuff.structure.first.number_3
0x404e my_small_stuff.structure.first.number_4
0x404f my_small_stuff.structure.first.number_5
0x4050 my_small_stuff.structure.second
0x4060 thing
0x4060 thing.first
0x4060 thing.first.number_1
0x4068 thing.first.number_2
0x406c thing.first.number_3
0x406e thing.first.number_4
0x406f thing.first.number_5
0x4070 thing.second
```
# Licensing
This script is based on `dwex` DWarf EXplorer by "Seva Alekseyev". The
original source code of `dwex` can be found on
[GitHub](https://github.com/sevaa/dwex)1
Since it is derived work and licensing can be a mess, the resulting
license follows the original and thus the code is licensed under BSD
license.