# 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) 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.