function::sprint_usyms - Linux


function::sprint_usyms is a command-line tool used to generate usable symbols from function names. It is useful in debugging and reverse engineering binaries by extracting function names and addresses from executables and libraries.


function::sprint_usyms [OPTIONS] [<binary/library>]


  • -a, –all: Extract all symbols, including non-functions.
  • -n, –names: Output only function names.
  • -p, –print: Print all attributes for each symbol.
  • -v, –verbose: Enable verbose output.
  • -h, –help: Print usage information.


Extract function names from a binary:

function::sprint_usyms /bin/ls

Extract all symbols from a library:

function::sprint_usyms -a /usr/lib/

Print only function names:

function::sprint_usyms -n /usr/bin/python

Common Issues

  • Missing symbols: Ensure that the binary or library has debug symbols stripped.
  • Incorrect output: Verify that the executable or library is not corrupted.


function::sprint_usyms can be integrated with other tools for advanced analysis:

  • Use objdump to disassemble functions:
objdump -d $(function::sprint_usyms -n /bin/ls)
  • Use gdb to debug functions:
gdb $(function::sprint_usyms -n /bin/ls)

Related Commands

  • readelf
  • objdump
  • gdb