This script maps runtime addresses to symbol names. It is robust over Address Space Layout Randomization (ASLR) since it uses runtime addresses with runtime mapping information (/proc/.../maps). Like 'pprof --symbols' in gperftools . Step 1: Prepare symbol information. It is required to collect symbol information before mapping runtime addresses to symbol names. ./prepare_symbol_info.py /path/to/maps [/another/path/to/symbol_info_dir] The required 'maps' file is /proc/.../maps of the process at runtime. Step 2: Find symbols. ./find_runtime_symbols.py /path/to/symbol_info_dir < addresses.txt 'symbol_info_dir' is the result of the Step 1. The stdin should be a list of hex addresses to map, one per line. The results will be printed to stdout like 'pprof --symbols'.